MaLiLib

MaLiLib

Mod

A library mod for client-side mods. Contains most of the common/shared code of masa's client mods, and adds some inter-operation support between the dependent mods.

Client LibraryUtility

2.44M downloads
1,569 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...
  • fix: Missing Textures from Horse Armor, etc
  • fix: add support for other Generic Entity Types, such as Armor Stands using Inventory Overlay
  • fix Visibility of renderInventoryBackgroundSlots
  • add printTranslationKeys Debug from Post ReWrite
  • Add additional translations from Humans; such as Ukranian, and Korean.
  • Refactored various util functions with their Post-ReWrite variants.
  • Added Config Menu Registry from Post-Re-Write. Your Mods should Register with MaLiLib for each of your GuiConfigBase screens (And MaLiLib will attempt to register non-compliant mods automatically)
  • fix: NbtWrap (getType) for NbtUtils.getEntityPosFromTag()
  • fix: Item Tooltips using InventoryOverlay from MiniHUD to show full Enchantments, etc. The Tooltips should look exactly like Vanilla tool tips.
  • feat: add support for variable Bundle Previews from 6-9 slots wide. Anything More or less causes Texture glitches.
  • fix: when prettyName, comment, or translatedName entries are outdated, or not being applied with apply(), such as if the mod wasn't updated to use apply().
  • fix: the invalid 'mixin' error upon launch from 0.22.1 (Unpublished)
  • Removed Crowdin files

This is due to the unpopularity of Machine Translations. If you want a language supported, translate it and post under Sakura's MaLiLib Issues -- With that said, if you wish to become more of a permanent language translator for these mods, I can invite you to my crowdin account. Until then, any Machine translations that I could find / recall from recent memory have been removed; which will also revert some existing lang files, such as various additions under Chinese to English until I can gain that support more consistantly. Note that as various configs get added to the mod, this will also mean that languages without a proper human maintainer WILL NOT BE FULLY TRANSLATED. I have tried and spent my own money on these Crowdin projects in order to be more open for more of the top 30 languages to be represented, only for this to be the result due to the poor quality of Machine Translations. I assume that you understand that it's better to have NO translation instead of a poor translation.

  • fix: when prettyName, comment, or translatedName entries are outdated, or not being applied with apply(), such as if the mod wasn't updated to use apply().
  • Removed Crowdin files

This is due to the unpopularity of Machine Translations. If you want a language supported, translate it and post under Sakura's MaLiLib Issues -- With that said, if you wish to become more of a permanent language translator for these mods, I can invite you to my crowdin account. Until then, any Machine translations that I could find / recall from recent memory have been removed; which will also revert some existing lang files, such as various additions under Chinese to English until I can gain that support more consistantly. Note that as various configs get added to the mod, this will also mean that languages without a proper human maintainer WILL NOT BE FULLY TRANSLATED. I have tried and spent my own money on these Crowdin projects in order to be more open for more of the top 30 languages to be represented, only for this to be the result due to the poor quality of Machine Translations. I assume that you understand that it's better to have NO translation instead of a poor translation.

  • Port to 1.21.3.
  • Most new features have been added to 1.21 already.
  • Many changes under the hood for various rendering tasks, especially Shaders and Gui Texture rendering. Note that many GUI / RenderUtils now should be used with DrawContent.
  • Near rewrite of how the IRender interface works by building MaLiLib's own RenderPass system. Adds 'Advanced' versions of the 'onRenderWorld' hooks with values such as Frustum, Fog and Profiler. Adds onRenderWorldPreWeather where onRenderWorldLastAdvanced / onRenderWorldLast are ran just before the DebugPost rendering, and are executed long after the classic RenderWeather hooks. This is mainly due to World Rendering / Tranclucency issues, particularly in Fabulous! graphics mode, and Vanilla changes. Pick which Interface works best for your situation, as my 1.21.2+ ports use both across the mods.
  • fix Horse Attributes and Health Attributes from NBT workflow.
  • fix ItemsFromNbt for EnderChests
  • Add LLAMA, WOLF, PLAYER and ENDER_CHEST InventoryOverlay Types.
  • Add ConfigFloat type from 1.21.2+
  • Add new apply() Config handling from 1.21.2+ for i18n translation.
  • Adds various Crowdin-based language translations, with many not yet activate. Please report translation errors on my GitHub, and offer fixes.
  • 1.21/.1 versions are now considered LTS.
  • Merge code from Development branches (1.21.3+)
  • Overhaul of InventoryOverlay code to include items such as Crafter Locked Slots.
  • Helper functions added for nearly every type of NBT data related to Block Entities, and Entities. They are used for directly reading various Nbt Tags into Inventory objects using the new InventoryOverlay Context system, or various Info Lines, such as infoLookingAtEntityVariant.
  • Adds support for the Bundle Preview from MiniHUD and Tweakeroo.
  • Update to MC 1.21.1 (just version bumps)

Original build time: 2024-08-20 20:34:00 +0300

  • Restore some of the lang files
  • Fix config saving/loading issue on servers connected via BungeeCord

Original build time: 2024-07-27 05:13:58 +0300

  • As a test, remove all other lang files except en_us.json
    • Windows Defender is once again (falsely) flagging the 0.20.0 release as a trojan. No idea why, but as a test the other lang files were removed in this build to see if it doesn't like the russian translation for example.

If 0.20.0 works for you and doesn't get deleted by defender, then don't update to this version.

Original build time: 2024-07-24 16:47:19 +0300

  • Update to MC 1.21 (by Sakura-Ryoko and zly2006)
  • Add better language translations infrastructure (should be backwards compatible)
  • Update zh_cn language by s-yh-china
  • Add es_es language from typo_mc
  • Fix translations needing to contain a \\n for line breaks

Original build time: 2024-07-23 10:35:46 +0300

  • Fix a crash with newer FastUtils library versions, which are now used by the Ornithe installer

Original build time: 2024-07-14 14:18:08 +0300

Note: This update is entirely the work of Sakura-Ryoko. I don't currently have any plans to update my mods anymore from the old "pre-rewrite" code for any MC versions after 1.20.4. And there is currently no ETA for if/when the "new code" might be ready, if ever.

Original build time: 2024-06-13 22:32:44 +0300

  • GuiTextFieldGeneric: Remove the set/get cursor position methods entirely
    • Note: This change will crash at least Litematica versions older than 0.17.3

Note: There is no need to update to this version (or 0.18.3) unless you use for example the Lunar launcher, where any malilib-based screen that has a text field will crash due to a method name conflict with Mojmap names in versions before 0.18.3.

Original build time: 2024-06-04 23:39:36 +0300

TL;DR; Don't update to this version unless you use the Lunar launcher. Or if you have also updated Litematica to 0.17.3 or later (if you use it).

0.18.2:

  • GuiTextFieldGeneric: Deprecate a few of the custom cursor position setter methods
    • At least setCursorPositionEnd() conflicts with a Mojmap name, leading to a recursive call induced crash when running in a Mojmap names environment
    • This change alone doesn't fix the issue entirely, but just prevents the crash, but then also possibly breaks the text field behavior with mods that still use these methods.
    • If these methods are called, they won't do their task anymore, but instead they will just print a warning message for the user to update the dependent mods to a version that doesn't use these methods anymore.
    • Notably you need to use Litematica 0.17.3+ if you use malilib 0.18.2+
      • (0.18.2 was not released for the end users, but it did go to the maven, so I bumped the version again to 0.18.3 instead of overwriting 0.18.2 with the final release version)

0.18.3:

  • Set an explicit MC version upper limit to 1.20.4, as this version won't work in 1.20.5 snapshots or later anymore

Original build time: 2024-06-02 23:25:46 +0300

  • Add a new variant of the RenderUtils.renderMapPreview() method
    • This is required for MiniHUD 0.30.2+ and Tweakeroo 0.19.2+

Original build time: 2024-02-10 20:08:48 UTC+2

  • Port to the Ornithe project on MC 1.12.2
    • This uses the Fabric mod loader, and the mappings from the Ornithe project

The rest of the change log since the malilib-liteloader-1.12.2-0.54.0.litemod build is to follow... and it will be long :pain:

Original build time: 2023-12-26 17:03:01 UTC+2

0.18.0

by masa on Jan 3, 2024
Download
  • Update to MC 1.20.4 (should also work on 1.20.3)

Original build time: 2023-12-09 20:42:17 UTC+2


Project members

masa

Owner

sakura-ryoko

Maintainer

Details

Licensed LGPL-3.0-only
Published a year ago
Updated 6 days ago