nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
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

23.68M downloads
5,455 followers
Filter loader...
Filter versions...
Filter channels...
  • fix: i18nRegistry.scanForTranslationKey() to consider if the key exists in the matching ModID first; and if not; continue the exhaustive scan.
  • fix: Thread spin-locks after sleep()
  • add: translationMode system as a replacement for the "followBaseLanguage" terminology.
  • set: i18n Manager Override system to be disabled by default & set to the Follow Minecraft mode.
  • add: IConfigHandler 'onLanguageChanged()' callback for whenever Vanilla changes it's language. This is optional; but useful if you want to make sure the Downstream mods are properly tracking when Vanilla changes it's language setting.
  • Delete all untranslated 0% translations.
  • fix: shift onWorldRenderLast to before onLateDebug
  • Introduce TRANSLATION Registry so that downstream mods can build their own i18nManager in their Mod Init; and then register it for StringUtils.translate() to work with the new i18n option.
  • Adjust Thread Daemon workflow for cleaner sleep / Executor management
  • Remove "Async" Thread interface; cleanup / rename "Default"
  • adjust "safe" Thread count; add a new "Max" thread count pinned to (cores / 2)
  • Add Configurable Keyboard Type (AZERTY vs QWERTY)
  • add: translation credits Hover text system (And for all IConfigOptionListEntry/IConfigOptionValues, as an optional feature)

NOTES: - Changing Your Keyboard Type to AZERTY or QWERY will remap all of your configured keybinds - When changing each mods' Language configuration; the Config Screen must be closed / reopened to fully take effect. - All Downstream translation mods has a Config to "follow" whatever MaLiLib's language is set to as the default; so that ideally you would only need to change the language once under MaLiLib, but still can configure them independently as needed this way.

  • fix: shift onWorldRenderLast to before onLateDebug
  • Introduce TRANSLATION Registry so that downstream mods can build their own i18nManager in their Mod Init; and then register it for StringUtils.translate() to work with the new i18n option.
  • add: ConfigOptionValues as a clone of PRW OptionListConfig
  • add: 'configWriteMethod' using ConfigOptionValues
  • Adjust Thread Daemon workflow for cleaner sleep / Executor management
  • Remove "Async" Thread interface; cleanup / rename "Default"
  • adjust "safe" Thread count; add a new "Max" thread count pinned to (cores / 2)
  • Add Configurable Keyboard Type (AZERTY vs QWERTY)
  • add: translation credits Hover text system (And for all IConfigOptionListEntry/IConfigOptionValues, as an optional feature)

NOTES: - Changing Your Keyboard Type to AZERTY or QWERY will remap all of your configured keybinds - When changing each mods' Language configuration; the Config Screen must be closed / reopened to fully take effect. - All Downstream translation mods has a Config to "follow" whatever MaLiLib's language is set to as the default; so that ideally you would only need to change the language once under MaLiLib, but still can configure them independently as needed this way.

  • fix: NbtInventory by relying less on ItemStackWithSlot.CODEC; and migrating to using EntrySlot. Also; if any Items fail to parse; return a Barrier Block with Lore attached to it as a Placeholder.
  • add: the item ID to malilib.gui.tooltip.nbt.unparsable if present.
  • add: request[Block]EntityFromLocalServer() to methods IDataSyncer
  • fix: Sheep use a BYTE color; not an INT.
  • i18n updates
  • disable RGSS from legacy_terrain.fsh,
  • shift onWorldRenderLast injection,
  • remove renderTransparencyFix,
  • sync i18n entries from 26.1
  • update Schema & some RenderPipelines
  • disable RGSS from legacy_terrain shader
  • 26.1.1
  • fix: build script for "api" inclusion of FAPI modules.
  • adjust: MaLiLibPipelines for Litematica
  • adjust: renderTransparencyFix to default OFF; after adjusting the Mixin for onRenderWorldLast.
  • add: Experimental "OnDemandRenderer"
  • Porting to 26.1
  • Update Update IThreadDaemonHandler & IThreadDaemonExecutor to allow for a Thread.sleep() workflow; and safer Thread Stop / Start mechanics; and verify that these operations are done on the correct Thread. Also improve the JavaDoc for it.
  • Update WidgetDropDown box with an Opaque Rect
  • Add improved writeCompoundTagToCompressedFile() to write Compressed NBT, and a new version of readNbtFromFile() that can also once again read Uncompressed NBT.
  • make isPlayer check to noSlotId check, so inv check based on entity's NBT have Inventory 'Slot' tag or not (#136)
  • add sorted() function to NbtInventory
  • add experimental ConfigBlockState. (I intend to make a List variant later)
  • remove: the super.render() for a few specific widgets for being redundant.
  • fix: GuiContext not storing the canon "GuiGraphics" object as a reference.
  • fix: a couple items related to TextFieldWrapper and GuiTextFieldGeneric -- specifically with data type checks and Hover strings.
  • add: Better Villager Profession colors based on in-game texture colors; although a few of them looks a bit a like; such as having 3 shades of Gray (Mason, Armorer, Weaponsmith).
  • "clarify" and fix the onValueChanged() callbacks across the board, and solve the setValueFromJsonElement() problems utilizing some new IConfig* interfaces and smarter uses of markClean() / markDirty()
  • add: IConfigGuiAlLTab & make Search Bar with a Keybind a bit less Janky.
  • Fix VillagerTradesDisplay with servux (#133)
  • Increase Packet Splitter's MAX receive buffer size to 67108864
  • Remove "fabric-resource-loader-v0" dependency
  • Data Tag updates & Bump Schema.java for 26.1, Remove more uses of DataConverterNbt
  • add "NbtOverrides" for checking Item ID's
  • Some PRW util work staging (Don't use them ... yet)
  • fix Selection box culling / offset
  • fix some GuiTextFieldGeneric errors
  • add nearly all vanilla core shaders into MaLiLib's resources so external resource packs won't interfere with rendering.
  • add a Configurable HandSlot Option List function.
  • add: GuiTextDualInput, GuiTextInputMultiLine, and GuiTextInputStackedMultiLine system, and related Interfaces; also added the onMousedDragged() event to GuiBase / WidgetBase / WidgetContainer along with handling for adding Multi-Line Text Edit boxes.
  • Bump Loom, Gradle, etc; update Lang entries
  • add conditional_mixins across the board.
  • fix: renderTextPlate() -- Remove all legacy GlStateManager calls from it, and add the tick Delta version for the Camera.
  • cleanup TickUtils fixes from previous release
  • Various JavaDoc updates for RenderUtils, marking some older items as 'for removal'
  • ensure that TickUtils returns a valid Tick Rate; especially if a user decides to use something like ViaVersion with servers that do not send a tick rate.
  • Lang updates / resync with changes from 1.21.10 and below
  • add: experimental Async Task Runner Interface & Data Tag small fixes
  • adjust: Terrain Pipelines' Blend Mode / Alpha Cutouts (Litematica fixes)
  • Resync lang and a few fixes from 1.21.11
  • Change GuiColorEditorHSV to dynamically generate a Texture for the large color selector box
  • add: ConfigTable system from 1.21.11
  • sync: Data Tag Ops from 1.21.11+ (NBT-like replacement system)
  • Resync lang and a few fixes from 1.21.11
  • Change GuiColorEditorHSV to dynamically generate a Texture for the large color selector box
  • add: ConfigTable system from 1.21.11
  • add: Data Tag Ops from 1.21.10+ (NBT-like replacement system)
  • sync: CachedTagManager system from 1.21.10+ (for Replacing the #malilib: Tag Data Gen system)
  • sync: File Ops Utils for the WidgetDirectoryNavigation from 1.21.10+
  • Resync lang and a few fixes from 1.21.11
  • Change GuiColorEditorHSV to dynamically generate a Texture for the large color selector box
  • add: ConfigTable system from 1.21.11
  • add: Data Tag Ops from 1.21.10+ (NBT-like replacement system)
  • add: CachedTagManager system from 1.21.8+ (for Replacing the #malilib: Tag Data Gen system)
  • add: File Ops Utils for the WidgetDirectoryNavigation from 1.21.8+
  • add: The "MINIHUD_*_NO_CULL" MaLiLibPipelines from 1.21.8+

External resources


Project members

masa

Owner

sakura-ryoko

Maintainer


Technical information

License
LGPL-3.0-only
Client side
required
Server side
unsupported
Project ID