Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
MidnightLib

MidnightLib

Common library providing a lightweight configuration system

9.83M
1,313
Library
Utility

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x
1.18.x
1.17.x

Platforms

Fabric
Forge
NeoForge
Quilt

Supported environments

Client-side
Server-side
Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server

Creators

Motschen
Motschen Owner

Details

Licensed MIT
Published 4 years ago
Updated 2 days ago
DescriptionGalleryChangelogVersions

Show all versions

1
2
5

MidnightLib 1.8.3 - NeoForge 1.21.9

by Motschen on Oct 3, 2025
Download

MidnightLib v1.8.3-neoforge+1.21.9 for 1.21.9

View the changelog

  • Fix: crash on servers

MidnightLib 1.8.3 - Fabric 1.21.9

by Motschen on Oct 3, 2025
Download

MidnightLib v1.8.3-fabric+1.21.9 for 1.21.9

View the changelog

  • Fix: crash on servers

MidnightLib 1.8.2 - NeoForge 1.21.9

by Motschen on Oct 2, 2025
Download

MidnightLib v1.8.2-neoforge+1.21.9 for 1.21.9

View the changelog

  • Fix: make tooltip translation key respect custom entry names

MidnightLib 1.8.2 - Fabric 1.21.9

by Motschen on Oct 2, 2025
Download

MidnightLib v1.8.2-fabric+1.21.9 for 1.21.9

View the changelog

  • Fix: make tooltip translation key respect custom entry names

MidnightLib 1.8.1 - NeoForge 1.21.9

by Motschen on Oct 1, 2025
Download

MidnightLib v1.8.1-neoforge+1.21.9 for 1.21.9

View the changelog

  • Feat: better UX and accessibility
  • Feat: support NeoForge on 1.21.9

MidnightLib 1.8.1 - Fabric 1.21.9

by Motschen on Oct 1, 2025
Download

MidnightLib v1.8.1-fabric+1.21.9 for 1.21.9

View the changelog

  • Feat: better UX and accessibility
  • Feat: support NeoForge on 1.21.9

MidnightLib 1.8.0 - Fabric 1.21.9-rc1

by Motschen on Sep 27, 2025
Download

MidnightLib v1.8.0-fabric+1.21.9-rc1 for 1.21.9-rc1

View the changelog

  • Chore: update to 1.21.9-rc1
  • Clean: even more refactoring
  • Fix: centered multiline comments
  • Clean: additional refactoring
  • Clean: extract inner classes
  • Clean: refactoring (less static methods/fields)
  • Feat: support for 1.21.9 (pre3)
  • Chore: update gradle config for 1.21.9
    • fix: NullPointerException when the config class of mod updated - alter: better test code in common/src/test, neoforge/src/test and fabric/src/test, run Test Minecraft Client(:fabric) or Test Minecraft Client(:neoforge) for testing

MidnightLib 1.7.5 - NeoForge 1.21.1

by Motschen on Jul 15, 2025
Download

MidnightLib v1.7.5-neoforge+1.21.1 for 1.21.1

View the changelog

  • Clean: remove NeoForge bus annotation
  • Port: adapt to 1.21.1
  • Port: update gradle config
  • Fix: screen titles not showing
  • Feat: NeoForge 1.21.6
  • Port: update to full 1.21.6
  • Fix: correctly wrap option text labels
  • Port: 1.21.6 (pre1)
  • Chore: bump version
  • Clean: some code cleanup
  • Optimize: remove unchanged translations in es_ar
  • Feat: remove checkbox widgets
  • Fix: conditions are not applied in default tab
  • Fix: adjust option title position
  • Feat: new method to manually add widgets
  • Update es_ar.json
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Feat: respect TranslatableOption on enums
  • Chore: bump version
  • Clean: remove unused import
  • Docs: improve JavaDocs
  • Feat: improve URL handling
    • feat: add clickable url for @Comment - chore: bump version 1.7.2-rc.2
  • Feat: 'visibleButLocked' now applies for all buttons
  • Feat: checkbox buttons next to boolean yes/no text buttons
  • Fix: improve identifier crash fix
    • adjust: optimize code & add comment
    • rollback: boolean field (CheckboxWidget -> ButtonWidget)
    • fix bug+: illegal Identifier cannot input character
    • fix bug: avoid the crash due to Identifier syntax not legitimate. - new feature: multiple expect values for @Condition - change: use net.minecraft.client.gui.widget.CheckboxWidget for boolean @Entry instead of net.minecraft.client.gui.widget.ButtonWidget - misc: cleanup for en_us.json and example code & bump version
  • Chore: bump version
  • Docs: improve multi-conditions example
  • Feat: optimize AutoCommand's file-size
  • Clean: improve entry access further
  • Feat: replace Hashtable with LinkedHashMap
  • Optimize: use hash tables to reduce complexity
  • Cleanup & suppress unused warnings
  • Chore: bump version
  • Add examples
  • Fix bugs: The condition update algorithm is chaotic and does not work properly when the condition values conflict new features: multi-conditions config is supported
  • Fix bug: the @Condition does not trigger in real-time to update the menu UI
  • Chore: bump version
  • Feat: conditions! + large cleanup
  • Clean: optimize translation files & metadata
  • Clean: various code improvements
  • Chore: bump version
  • Refactor: identifier item display
  • Clean: remove blend functions
  • Feat: minimal custom type adapter for Identifiers

MidnightLib 1.7.5 - Fabric 1.21.1

by Motschen on Jul 15, 2025
Download

MidnightLib v1.7.5-fabric+1.21.1 for 1.21.1

View the changelog

  • Clean: remove NeoForge bus annotation
  • Port: adapt to 1.21.1
  • Port: update gradle config
  • Fix: screen titles not showing
  • Feat: NeoForge 1.21.6
  • Port: update to full 1.21.6
  • Fix: correctly wrap option text labels
  • Port: 1.21.6 (pre1)
  • Chore: bump version
  • Clean: some code cleanup
  • Optimize: remove unchanged translations in es_ar
  • Feat: remove checkbox widgets
  • Fix: conditions are not applied in default tab
  • Fix: adjust option title position
  • Feat: new method to manually add widgets
  • Update es_ar.json
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Feat: respect TranslatableOption on enums
  • Chore: bump version
  • Clean: remove unused import
  • Docs: improve JavaDocs
  • Feat: improve URL handling
    • feat: add clickable url for @Comment - chore: bump version 1.7.2-rc.2
  • Feat: 'visibleButLocked' now applies for all buttons
  • Feat: checkbox buttons next to boolean yes/no text buttons
  • Fix: improve identifier crash fix
    • adjust: optimize code & add comment
    • rollback: boolean field (CheckboxWidget -> ButtonWidget)
    • fix bug+: illegal Identifier cannot input character
    • fix bug: avoid the crash due to Identifier syntax not legitimate. - new feature: multiple expect values for @Condition - change: use net.minecraft.client.gui.widget.CheckboxWidget for boolean @Entry instead of net.minecraft.client.gui.widget.ButtonWidget - misc: cleanup for en_us.json and example code & bump version
  • Chore: bump version
  • Docs: improve multi-conditions example
  • Feat: optimize AutoCommand's file-size
  • Clean: improve entry access further
  • Feat: replace Hashtable with LinkedHashMap
  • Optimize: use hash tables to reduce complexity
  • Cleanup & suppress unused warnings
  • Chore: bump version
  • Add examples
  • Fix bugs: The condition update algorithm is chaotic and does not work properly when the condition values conflict new features: multi-conditions config is supported
  • Fix bug: the @Condition does not trigger in real-time to update the menu UI
  • Chore: bump version
  • Feat: conditions! + large cleanup
  • Clean: optimize translation files & metadata
  • Clean: various code improvements
  • Chore: bump version
  • Refactor: identifier item display
  • Clean: remove blend functions
  • Feat: minimal custom type adapter for Identifiers

MidnightLib 1.7.5 - NeoForge 1.21.6

by Motschen on Jun 17, 2025
Download

MidnightLib v1.7.5-neoforge+1.21.6 for 1.21.6

View the changelog

  • Fix: screen titles not showing

MidnightLib 1.7.5 - Fabric 1.21.6

by Motschen on Jun 17, 2025
Download

MidnightLib v1.7.5-fabric+1.21.6 for 1.21.6

View the changelog

  • Fix: screen titles not showing

MidnightLib 1.7.4 - NeoForge 1.21.6

by Motschen on Jun 17, 2025
Download

MidnightLib v1.7.4-neoforge+1.21.6 for 1.21.6

View the changelog

  • Feat: NeoForge 1.21.6
  • Port: update to full 1.21.6
  • Fix: correctly wrap option text labels
  • Port: 1.21.6 (pre1)

MidnightLib 1.7.4 - Fabric 1.21.6

by Motschen on Jun 17, 2025
Download

MidnightLib v1.7.4-fabric+1.21.6 for 1.21.6

View the changelog

  • Feat: NeoForge 1.21.6
  • Port: update to full 1.21.6
  • Fix: correctly wrap option text labels
  • Port: 1.21.6 (pre1)

MidnightLib 1.7.3 - NeoForge 1.21.4

by Motschen on May 13, 2025
Download

MidnightLib v1.7.3-neoforge+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Clean: some code cleanup
  • Optimize: remove unchanged translations in es_ar
  • Feat: remove checkbox widgets
  • Fix: conditions are not applied in default tab
  • Fix: adjust option title position
  • Feat: new method to manually add widgets
  • Update es_ar.json
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Feat: respect TranslatableOption on enums

MidnightLib 1.7.3 - Fabric 1.21.4

by Motschen on May 13, 2025
Download

MidnightLib v1.7.3-fabric+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Clean: some code cleanup
  • Optimize: remove unchanged translations in es_ar
  • Feat: remove checkbox widgets
  • Fix: conditions are not applied in default tab
  • Fix: adjust option title position
  • Feat: new method to manually add widgets
  • Update es_ar.json
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Translation into Argentine Spanish (es_ar) for MidnightLib
  • Feat: respect TranslatableOption on enums

MidnightLib 1.7.2 - NeoForge 1.21.4

by Motschen on Apr 21, 2025
Download

MidnightLib v1.7.2-neoforge+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Clean: remove unused import
  • Docs: improve JavaDocs
  • Feat: improve URL handling
    • feat: add clickable url for @Comment - chore: bump version 1.7.2-rc.2
  • Feat: 'visibleButLocked' now applies for all buttons
  • Feat: checkbox buttons next to boolean yes/no text buttons
  • Fix: improve identifier crash fix
    • adjust: optimize code & add comment
    • rollback: boolean field (CheckboxWidget -> ButtonWidget)
    • fix bug+: illegal Identifier cannot input character
    • fix bug: avoid the crash due to Identifier syntax not legitimate. - new feature: multiple expect values for @Condition - change: use net.minecraft.client.gui.widget.CheckboxWidget for boolean @Entry instead of net.minecraft.client.gui.widget.ButtonWidget - misc: cleanup for en_us.json and example code & bump version

MidnightLib 1.7.2 - Fabric 1.21.4

by Motschen on Apr 21, 2025
Download

MidnightLib v1.7.2-fabric+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Clean: remove unused import
  • Docs: improve JavaDocs
  • Feat: improve URL handling
    • feat: add clickable url for @Comment - chore: bump version 1.7.2-rc.2
  • Feat: 'visibleButLocked' now applies for all buttons
  • Feat: checkbox buttons next to boolean yes/no text buttons
  • Fix: improve identifier crash fix
    • adjust: optimize code & add comment
    • rollback: boolean field (CheckboxWidget -> ButtonWidget)
    • fix bug+: illegal Identifier cannot input character
    • fix bug: avoid the crash due to Identifier syntax not legitimate. - new feature: multiple expect values for @Condition - change: use net.minecraft.client.gui.widget.CheckboxWidget for boolean @Entry instead of net.minecraft.client.gui.widget.ButtonWidget - misc: cleanup for en_us.json and example code & bump version

MidnightLib 1.7.1 - NeoForge 1.21.4

by Motschen on Apr 5, 2025
Download

MidnightLib v1.7.1-neoforge+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Docs: improve multi-conditions example
  • Feat: optimize AutoCommand's file-size
  • Clean: improve entry access further
  • Feat: replace Hashtable with LinkedHashMap
  • Optimize: use hash tables to reduce complexity
  • Cleanup & suppress unused warnings
  • Chore: bump version
  • Add examples
  • Fix bugs: The condition update algorithm is chaotic and does not work properly when the condition values conflict new features: multi-conditions config is supported
  • Fix bug: the @Condition does not trigger in real-time to update the menu UI

MidnightLib 1.7.1 - Fabric 1.21.4

by Motschen on Apr 5, 2025
Download

MidnightLib v1.7.1-fabric+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Docs: improve multi-conditions example
  • Feat: optimize AutoCommand's file-size
  • Clean: improve entry access further
  • Feat: replace Hashtable with LinkedHashMap
  • Optimize: use hash tables to reduce complexity
  • Cleanup & suppress unused warnings
  • Chore: bump version
  • Add examples
  • Fix bugs: The condition update algorithm is chaotic and does not work properly when the condition values conflict new features: multi-conditions config is supported
  • Fix bug: the @Condition does not trigger in real-time to update the menu UI

MidnightLib 1.7.0 - NeoForge 1.21.4

by Motschen on Mar 28, 2025
Download

MidnightLib v1.7.0-neoforge+1.21.4 for 1.21.4

View the changelog

  • Chore: bump version
  • Feat: conditions! + large cleanup
  • Clean: optimize translation files & metadata
  • Clean: various code improvements
  • Chore: bump version
  • Refactor: identifier item display
  • Clean: remove blend functions
  • Feat: minimal custom type adapter for Identifiers
  • Create ru_ru.json
1
2
5

Modrinth is open source.

main@016c3d7

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.