LibJF is a library for my smaller mods which contains several common components.
Namely it provides:
- a complete config system with UIs, commands, compile-time codegen, presets, verifiers, etc
- a framework for manipulating loaded data and resources
- two new tags (which you can also use in data packs):
- libjf:overpowered: if an entity only wears armor items with this tag, it will become invulnerable
- libjf:shulker_boxes_illegal: items with this tag cannot be placed inside shulker boxes.
Intended to be used for backpacks or similar items
- utility code for serialization, script loading, co-processes, IO, etc.
- network utilities including a HTTP client and server
- a configurable and extensible translation system supporting various providers
- utilities for early initialization and ASM patching
If a mod is made by me, it is generally safe to assume it requires LibJF (or ships with parts of it)
If you want to use LibJF yourself, you can find documentation here
Optional
Optional
Terms for using, modifying and redistributing this product.
25.08.2026 · Modrinth
Commits in Beta 26.2.2+forge:
- chore: set iconFile in mods toml
- fix: don't actually audit unless the user really wants that
- fix: work around iris NF compat
- Merge branch 'master' into forge
Screenshots and images from the original Modrinth page.
Published versions and original Modrinth files.
25.08.2026 · 487 downloads
Commits in Beta 26.2.2+forge:
- chore: set iconFile in mods toml
- fix: don't actually audit unless the user really wants that
- fix: work around iris NF compat
- Merge branch 'master' into forge
25.08.2026 · 32 459 downloads
Commits in Release 26.2.2:
- fix: don't actually audit unless the user really wants that
- fix: work around iris NF compat
25.08.2026 · 16 746 downloads
Commits in Release 26.1.4:
- fix: don't actually audit unless the user really wants that
- fix: work around iris NF compat
25.08.2026 · 169 downloads
Commits in Release 26.1.4+forge:
- fix: don't actually audit unless the user really wants that
- fix: work around iris NF compat
07.08.2026 · 16 160 downloads
Removes libjf-config-network since, on this version, NeoForge has a bug that can cause it to break the ability to join NeoForge servers.
26.07.2026 · 1 689 downloads
Commits in Beta 26.1.3+forge:
- fix(unsafe): expose extensions in AsmTransformer for Fabric-ASM
- chore: minor API additions
- fix(unsafe): run class generators for interface discovery
- chore: bump deps
26.07.2026 · 57 788 downloads
Commits in Release 26.1.3:
- chore: minor API additions
- fix(unsafe): run class generators for interface discovery
- chore: bump deps
26.07.2026 · 1 844 downloads
Commits in Beta 26.2.1+forge:
- fix(config-commands): require attention for client commands
- fix(unsafe): run class generators for interface discovery
- chore: bump deps
- Merge branch 'master' into forge
26.07.2026 · 185 405 downloads
Commits in Release 26.2.1:
- fix(config-commands): require attention for client commands
- fix(unsafe): run class generators for interface discovery
- chore: bump deps
17.06.2026 · 1 826 downloads
Commits in Beta 26.2.0+forge:
- fix(unsafe): expose extensions in AsmTransformer for Fabric-ASM
- chore: minor API additions
- chore: update to 26.2
- Merge branch 'master' into forge
17.06.2026 · 506 812 downloads
Commits in Release 26.2.0:
- chore: minor API additions
- chore: update to 26.2
30.03.2026 · 925 703 downloads
Commits in Release 26.1.2:
- fix(unsafe): expose extensions in AsmTransformer for Fabric-ASM
30.03.2026 · 1 269 969 downloads
Commits in Release 3.19.12:
- fix(unsafe): expose extensions in AsmTransformer for Fabric-ASM
28.03.2026 · 1 702 downloads
Commits in Beta 26.1.1+forge:
- build: do not make POM depend on internal deps
- chore: make is* methods public
- fix(data): avoid overwrite
- fix(entrypoint): use target java version
- build: correct shadow configuration
- Merge branch 'master' into forge
- build(config-ui-tiny-testmod): use mapped lang name for mappy tooltip
- build: do not use outdated autoversion API
28.03.2026 · 4 313 downloads
Commits in Release 26.1.1:
- build: do not make POM depend on internal deps
- chore: make is* methods public
- fix(data): avoid overwrite
- fix(entrypoint): use target java version
- build: correct shadow configuration
28.03.2026 · 4 694 downloads
Commits in Beta 3.19.11+forge:
- fix: support moonlight
- fix(data): avoid overwrite
- fix(entrypoint): use target java version
- Merge branch '1.21.11' into 1.21.11-forge
28.03.2026 · 28 319 downloads
Commits in Release 3.19.11:
- fix: support moonlight
- fix(data): avoid overwrite
- fix(entrypoint): use target java version
24.03.2026 · 164 downloads
Commits in Beta 26.1.0+forge:
- chore: update to 26 snapshot 1
- chore: repackage
- Merge branch '26' into forge-26
- chore: add extra null checks to ResourcePath
- chore: add mechanism for opting out of AsmTransformer
- fix: prevent mixin deadlock
- build(config-compiler-plugin): add back autoversion
- build: defer autoversion propagation
- fix: support moonlight
- Merge branch 'master' into 26
- chore: update to 26 rc 2
- build: broaden annotation exclusion
- chore: use released lom
- chore: bump tp 16 proper
- Merge branch '26' into forge-26
- fix: use foojay for neoloom hack
24.03.2026 · 18 275 downloads
Commits in Release 26.1.0:
- chore: update to 26 snapshot 1
- chore: repackage
- fix: support moonlight
- Merge branch 'master' into 26
- chore: update to 26 rc 2
- build: broaden annotation exclusion
- chore: use released lom
- chore: bump tp 16 proper
13.03.2026 · 196 204 downloads
Adds workaround to support Supplementaries
06.03.2026 · 1 928 downloads
Commits in Beta 3.19.10+forge:
- chore: add extra null checks to ResourcePath
- chore: add mechanism for opting out of AsmTransformer
- fix: prevent mixin deadlock
- fix: prevent mixin deadlock
- Merge branch 'master' into forge
- build(config-compiler-plugin): add back autoversion
- fix(base): align flags change with forge
- build: defer autoversion propagation
- Merge branch 'master' into forge
06.03.2026 · 157 703 downloads
Commits in Release 3.19.10:
- chore: add extra null checks to ResourcePath
- chore: add mechanism for opting out of AsmTransformer
- fix: prevent mixin deadlock
- build(config-compiler-plugin): add back autoversion
- build: defer autoversion propagation
06.03.2026 · 2 171 downloads
Backports a concurrency fix
06.03.2026 · 2 886 952 downloads
Backports a concurrency fix
19.12.2025 · 7 303 downloads
This release contains a backport for an issue causing crashes in config screens
19.12.2025 · 123 downloads
This release contains a backport for an issue causing crashes in config screens
19.12.2025 · 1 671 downloads
This release contains a backport for an issue causing crashes in config screens
19.12.2025 · 454 203 downloads
This release contains a backport for an issue causing crashes in config screens
19.12.2025 · 2 935 downloads
Commits in Beta 3.19.8+forge:
- fix(config-ui-tiny): avoid allocations in text inputs
- Merge branch 'master' into forge
19.12.2025 · 1 090 098 downloads
Commits in Release 3.19.8:
- fix(config-ui-tiny): avoid allocations in text inputs
15.12.2025 · 95 downloads
Commits in Beta 3.19.7+forge:
- fix: do not override AbstractSliderButton.setValue
- Merge branch 'master' into forge
15.12.2025 · 9 138 downloads
Commits in Release 3.19.7:
- fix: do not override AbstractSliderButton.setValue
10.12.2025 · 132 downloads
Commits in Beta 3.19.6+forge:
- fix: correct NF shims
- build: do not shade annotations
- Merge branch 'master' into forge
10.12.2025 · 44 107 downloads
Commits in Release 3.19.6:
- fix: correct NF shims
- build: do not shade annotations
09.12.2025 · 65 downloads
Commits in Beta 3.19.5+forge:
- perf(mainhttp): do not copy buffer unnecessarily
- perf(web): reduce copies for mainhttp path
- chore(config-core): reduce log spam on broken file systems
- chore: introduce entrypoint abstraction
- fix: handle null ID in JfConfigSafe
- chore: shadow entrypoint abstraction
- chore(config): improve neoforge compatibility
- build: remove unexpected dependency
- style(config-core): clean up file migration
- fix(entrypoint): improve forge handling
- fix: use actual file path when migrating configs
- fix: use proper config type
- build: add missing repo
- Merge branch 'master' into forge
- chore: leverage new entrypoint API
- fix(entrypoint): use context class loader on NeoForge
- chore: update to 1.21.11 RC
- style: use NullMarked
- style: correct mixin names
- chore: update to 1.21.11
- Merge branch 'master' into forge
- fix: correct NF shims
09.12.2025 · 3 504 downloads
Commits in Release 3.19.5:
- perf(mainhttp): do not copy buffer unnecessarily
- perf(web): reduce copies for mainhttp path
- chore(config-core): reduce log spam on broken file systems
- chore: introduce entrypoint abstraction
- fix: handle null ID in JfConfigSafe
- chore: shadow entrypoint abstraction
- chore(config): improve neoforge compatibility
- build: remove unexpected dependency
- style(config-core): clean up file migration
- fix(entrypoint): improve forge handling
- fix: use actual file path when migrating configs
- fix: use proper config type
- build: add missing repo
- fix(entrypoint): use context class loader on NeoForge
- chore: update to 1.21.11 RC
- style: use NullMarked
- style: correct mixin names
- chore: update to 1.21.11
09.10.2025 · 3 118 downloads
Commits in Beta 3.19.4+forge:
- chore: bump to 1.21.10
- Merge branch 'master' into forge
09.10.2025 · 465 401 downloads
Commits in Release 3.19.4:
- fix(base): handle custom formatters in logger
- chore: bump to 1.21.10
01.10.2025 · 1 268 downloads
Commits in Beta 3.19.3+forge:
- fix: shadow muscript correctly
- fix(translate): ignore case in parseLang
- style: simplify boolean flag API
- chore(devutil): enable auditing by default
- fix(config-core): transitively fix and reset
- style(config-core): leverage ADT property of Type
- style(config-ui-tiny): factor out funky parameters in EntryInfoWidgetBuilder to ADT
- build: use configuration cache
- chore: remove old logging workaround
- Merge branch 'master' into forge
- docs: migrate to jfronny.dev
- docs: build
- docs: use jfronny.dev in more places
- docs: use jfronny.dev in more places
- fix(config-ui-tiny): use consistent screen headers
- fix(config-ui-tiny): prevent double borders
- fix(config-core): recreate placeholder screen on reinit
- chore: update to 1.21.9
- fix(base): handle custom formatters in logger
- Merge branch 'master' into forge
30.09.2025 · 19 346 downloads
Commits in Release 3.19.3:
- fix(translate): ignore case in parseLang
- style: simplify boolean flag API
- chore(devutil): enable auditing by default
- fix(config-core): transitively fix and reset
- style(config-core): leverage ADT property of Type
- style(config-ui-tiny): factor out funky parameters in EntryInfoWidgetBuilder to ADT
- build: use configuration cache
- chore: remove old logging workaround
- docs: migrate to jfronny.dev
- docs: build
- docs: use jfronny.dev in more places
- docs: use jfronny.dev in more places
- fix(config-ui-tiny): use consistent screen headers
- fix(config-ui-tiny): prevent double borders
- fix(config-core): recreate placeholder screen on reinit
- chore: update to 1.21.9
18.07.2025 · 5 082 downloads
Commits in Beta 3.19.2+forge:
- build: do not leave libs2
- Merge branch 'master' into forge
18.07.2025 · 606 865 downloads
Commits in Release 3.19.2:
- build: do not leave libs2
18.07.2025 · 83 downloads
Commits in Beta 3.19.1+forge:
- chore: update to 1.21.8
- Merge branch 'master' into forge
01.07.2025 · 452 downloads
Commits in Beta 3.19.0+forge:
- build: reenable modmenu
- feat(translate): user-configurable throttling
- chore: deprecate disabling ResourcePackInterceptor globally
- fix: revert to public ScopedValue API
- chore: bump to 1.21.7
- feat: remove ResourcePackInterceptor.disable
- Merge branch 'master' into forge
01.07.2025 · 29 561 downloads
Commits in Release 3.19.0:
- feat(translate): user-configurable throttling
- chore: deprecate disabling ResourcePackInterceptor globally
- fix: revert to public ScopedValue API
- chore: bump to 1.21.7
- feat: remove ResourcePackInterceptor.disable
17.06.2025 · 812 downloads
Commits in Beta 3.18.7+forge:
- style: clean up leftovers from jfmod 1.7
- docs: enable SPA
- docs: update for current set of modules and APIs
- chore: update to 1.21.6-rc1
- chore: update to 1.21.6
- Merge branch 'master' into forge
17.06.2025 · 141 735 downloads
Commits in Release 3.18.7:
- build: reenable modmenu
17.06.2025 · 192 downloads
Commits in Release 3.18.6:
- style: clean up leftovers from jfmod 1.7
- docs: enable SPA
- docs: update for current set of modules and APIs
- chore: update to 1.21.6-rc1
- chore: update to 1.21.6
27.03.2025 · 3 674 downloads
Commits in Beta 3.18.5+forge:
- chore: update dependencies
- chore: merge ukrainian translation
- chore: clean up formatting
- feat(config-ui-tiny): improve preset handling with toplevel categories
- fix: throw NoClassDefFoundError instead of generic RuntimeException
- fix(translate): also handle empty string in libreTranslateHost
- chore: update to 1.21.5-rc2
- fix: correct some leftovers
- chore: update to 1.21.5
- Merge branch 'master' into forge
- chore: bump neoforge
25.03.2025 · 707 228 downloads
Commits in Release 3.18.5:
- chore: update dependencies
- chore: merge ukrainian translation
- chore: clean up formatting
- feat(config-ui-tiny): improve preset handling with toplevel categories
- fix: throw NoClassDefFoundError instead of generic RuntimeException
- fix(translate): also handle empty string in libreTranslateHost
- chore: update to 1.21.5-rc2
- fix: correct some leftovers
- chore: update to 1.21.5
03.12.2024 · 1 911 downloads
Commits in Beta 3.18.4+forge:
- fix: prevent potential NPE in ServerCommentProvider
03.12.2024 · 88 downloads
Commits in Beta 3.18.3+forge:
- fix: use correct commons
- fix(resource-pack-entry-widgets): wrap text
- fix(config-network): make packets optional
- Merge branch 'master' into forge
- chore: update to 1.21.4-rc3
- chore: update to 1.21.4
- Merge branch 'master' into forge
- chore: get rid of UserResourceEvents
- Merge branch 'master' into forge
03.12.2024 · 374 669 downloads
Commits in Release 3.18.3:
- chore: update to 1.21.4-rc3
- chore: update to 1.21.4
- chore: get rid of UserResourceEvents
30.10.2024 · 245 downloads
Commits in Beta 3.18.2+forge:
- fix: use correct commons
- fix(resource-pack-entry-widgets): wrap text
- fix(config-network): make packets optional
- Merge branch 'master' into forge
30.10.2024 · 33 383 downloads
Commits in Release 3.18.2:
- fix: use correct commons
- fix(resource-pack-entry-widgets): wrap text
23.10.2024 · 152 downloads
Commits in Beta 3.18.1+forge:
- fix(config-core): prevent premature registration of config menus
23.10.2024 · 76 downloads
Commits in Beta 3.18.0+forge:
- fix(mainhttp): send 404 at end of pipeline
- fix(web): make Server more consistent
- perf(mainhttp): micro-optimize internal data structures
- feat(unsafe): support additional transformer API
- feat(config): rework UI and comment text plus naming
- feat(config-core): support overriding of referenced config naming
- feat(config-core): supply default delegating Naming
- chore: bump to 1.21.2
- chore(translate): use serialization generator for LibreTranslate
- feat(translate): experiment with DeepL
- feat(translate): get DeepL working using code based on PyDeepLX
- chore(translate): polish DeepLX a bit
- chore: bump to 1.21.2-rc1
- chore(translate): clean up a bit
- chore(translate): additional null handling
- chore: bump to 1.21.3
- Merge branch 'master' into forge
23.10.2024 · 1 267 downloads
Commits in Release 3.18.0:
- fix(mainhttp): send 404 at end of pipeline
- fix(web): make Server more consistent
- perf(mainhttp): micro-optimize internal data structures
- feat(unsafe): support additional transformer API
- feat(config): rework UI and comment text plus naming
- feat(config-core): support overriding of referenced config naming
- feat(config-core): supply default delegating Naming
- chore: bump to 1.21.2
- chore(translate): use serialization generator for LibreTranslate
- feat(translate): experiment with DeepL
- feat(translate): get DeepL working using code based on PyDeepLX
- chore(translate): polish DeepLX a bit
- chore: bump to 1.21.2-rc1
- chore(translate): clean up a bit
- chore(translate): additional null handling
- chore: bump to 1.21.3
10.10.2024 · 38 054 downloads
Commits in Beta 3.17.4+forge:
- fix(muscript): actually publish
- fix(unsafe): remap InterfaceImplTargetPatch.targetInterface
08.10.2024 · 248 downloads
Commits in Beta 3.17.3+forge:
- feat: forge part 1: gradle sync
- feat: get rid of libjf-unsafe
- feat: disable config-compiler-plugin
- feat: add back code for libjf-unsafe but keep disabled
- feat: some porting work
- Merge remote-tracking branch 'refs/remotes/origin/master' into forge
- Merge branch 'refs/heads/master' into forge
- fix(forge): get libjf-base and libjf-resource-pack-entry-widgets-v0 running in dev
- fix(forge): get testmods working
- Merge branch 'refs/heads/master' into forge
- feat(forge): enable some additional modules
- feat(forge): enable leftover config and web modules
- feat(forge): reimplement unsafe module
- Merge branch 'refs/heads/master' into forge
- feat: rework ASM implementation
- feat(data-manipulation): implement on forge
- feat(unsafe): support additional transformer API
- Merge branch 'refs/heads/breaking' into forge
- Merge remote-tracking branch 'origin/master' into forge
- docs: remove link to nowhere
- fix(base): make it build again
- fix(base): correct mixin signature
- build: don't depend on fabric-api
- Merge branch 'master' into forge
- chore: move over muscript-encapsulated from respackopts
- chore: remove manual service ordering
- fix(muscript): use correct metadata
- Merge branch 'master' into forge
08.10.2024 · 2 376 836 downloads
Commits in Release 3.17.3:
- docs: remove link to nowhere
- fix: make UserResourceEvents.disable available in ResourcePackInterceptor API
- fix: use ordering provided in FMJ instead of inferring from name
30.09.2024 · 163 downloads
Commits in Beta 3.17.2+forge:
- fix(base): correct mixin signature
20.09.2024 · 8 891 downloads
Commits in Release 3.17.1:
02.08.2024 · 389 669 downloads
Commits in Release 3.17.0:
- feat: implement libjf-resource-pack-entry-widgets to unify handling resource pack entry widgets
- chore(resource-pack-entry-widgets): add testmod and clean up a bit
- feat(resource-pack-entry-widgets): add forge port
- fix(resource-pack-entry-widgets): actually build
- fix(resource-pack-entry-widgets): add java component
- feat: move forge support to separate branch to simplify maintenance
- feat(resource-pack-entry-widgets): do not provide default width/height
- feat(resource-pack-entry-widgets): collapse widgets if width is too high
- fix(resource-pack-entry-widgets): respect scrollbar
- fix: disable multi-project optimization
- fix(resource-pack-entry-widgets): use measured values for positioning
- fix(resource-pack-entry-widgets): utilize hash codes for less predictable ordering
- docs(resource-pack-entry-widgets): better wording
- fix(resource-pack-entry-widgets): correct testmod data
- chore: add some fixes discovered while porting
- feat(config-commands): add client-side command for modifying your own configs
- feat(data-manipulation): introduce declarative (entrypoint-based) API for interceptor registration
14.06.2024 · 98 464 downloads
Commits in Release 3.16.0:
- feat: update to 1.21-pre4
- chore: update jfCommons
- feat: update to 1.21
11.05.2024 · 36 194 downloads
Commits in Release 3.15.9:
- chore(config-core): lift up logic for serializeOneTo
- chore(config-core): lift up logic for loadFromJson and writeTo
- fix(config-core): write comments and name in writeTo, not serializeOneTo
- fix(translate): do not pretend there is a page source if the connection fails
- fix(translate): correct url in testmod
- fix(translate): strange workaround
- chore(translate): more text for workaround
- chore(translate): comment out workaround again since google might have just been flaky
- style: make variant names common
05.05.2024 · 392 downloads
Commits in Release 3.15.8:
- fix: add additional null check to hook and update commons
- chore: update to 1.20.6
- fix: enhance commons logging backend with new upstream functionality
- style: enhance readability of SLF4J logger backend by removing varargs
04.05.2024 · 968 downloads
Commits in Release 3.15.7:
- fix: actually skip unsupported values in configs
26.04.2024 · 669 downloads
Commits in Release 3.15.6:
- fix(config-ui-tiny): use correct Text for default preset
- chore(config-core): plumb TypeTokens throughout internal representation
25.04.2024 · 274 downloads
This release also updates JfCommons, adding support for custom Map, Set and List types to the databind system
Commits in Release 3.15.5:
- chore(config-core): use method reference for migration
25.04.2024 · 106 downloads
This release also updates JfCommons, fixing some serialization issues
Commits in Release 3.15.4:
- chore(config-core): add unsafe wrapper for generating migrations since generics apparently are too much for javac
25.04.2024 · 105 downloads
Commits in Release 3.15.3:
- fix(config-core): use proper exception type in Migration
- chore(config-compiler-plugin): clean up a bit
25.04.2024 · 85 downloads
Commits in Release 3.15.2:
- build: publish bom/catalog on release
- chore(config-network): align packet serialization with recommendations in blog post
- build: temporarily remove repos needed for arch loom to ensure build uses fabric loom
24.04.2024 · 136 downloads
Commits in Release 3.15.1:
- fix: actually publish bom and catalog
- Merge branch 'refs/heads/breaking'
- feat: add lenient transport as alternative to manually setting SerializationMode
23.04.2024 · 147 downloads
Commits in Release 3.15.0:
- feat: switch loggers to System.Logger and update dependencies
- fix(base): Separate bootstrap stage with fallback JPL->JUL->our JPL logger redirection
- chore: add comments explaining the logging system
- build: update build for changes in scripts
- build: remove unneeded isFabric check
- feat: port to commons 1.7
- fix: consistently use SerializationMode
- feat: update to 1.20.5-rc2
- style(data-manipulation): Use ScopedValue instead of map from thread ID to value
- feat: update to 1.20.5
12.03.2024 · 80 222 downloads
Commits in Release 3.14.3:
- build: generate bom and catalog
- fix(config-core): hopefully prevent config parsing issue with nulls
22.02.2024 · 5 321 downloads
Commits in Release 3.14.2:
- fix(translate): remove argos translate from configs containing it
- fix(config-ui-tiny): use translation prefix again in preset translatable. Where was this done previously?
- chore(unsafe): This will never work on forge. Make that explicit.
- fix(translate): handle RuntimeException in TranslateService initialization
07.12.2023 · 12 454 downloads
Commits in Release 3.14.1:
- fix(translate): prevent crash caused by execution order
- chore: update to 1.20.3
- chore: update to 1.20.4
20.11.2023 · 16 988 downloads
Commits in Release 3.14.0:
- fix(config-ui-tiny): don't use Text.literal for boolean values
- fix(config-commands): Visualize option values properly
- feat(config-network): implement relevant config abstractions over network and add clientside GUI for server config
- feat(config-network): integrate with ModMenu
- fix(translate): don't initialize LibreTranslate if we can avoid it
22.09.2023 · 6 907 downloads
Commits in Release 3.13.1:
- fix: build proper files
22.09.2023 · 142 downloads
Commits in Release 3.13.0:
- feat(data-manipulation): reverse order of FIND_RESOURCE application to make more sense
- chore(config-ui): remove deprecated APIs
- feat: update to 1.20.2 snapshots
- chore: clean up config modules
- feat(web): support hosting on game port
- feat(web): represent virtual hosts as tree and avoid collisions
- feat(web): move main port hooking to lightweight separate library for interoperability
- chore: merge breaking changes
- chore: bump deps
21.08.2023 · 575 689 downloads
Commits in Release 3.12.5:
- fix: update slider text on value change
- fix: show categories in tabs
19.08.2023 · 399 downloads
Commits in Release 3.12.4:
- style(config-ui-tiny): add override annotation (thanks for nothing, IDEA)
- fix(config-ui-tiny): prevent using tabs when there are zero or one categories, as that doesn't work properly
15.08.2023 · 1 386 downloads
Commits in Release 3.12.3:
- fix(config-ui-tiny): centralize UI state tracking between individual resets and preset application using a callback to prevent desynchronization
14.08.2023 · 190 downloads
Commits in Release 3.12.2:
- fix(config-ui-tiny): prevent incorrect gradients when in world
14.08.2023 · 8 232 downloads
Commits in Release 3.12.1:
- fix(devutil): prevent improper model reload
13.08.2023 · 179 downloads
Commits in Release 3.12.0:
- feat(config-core): support save hooks for config screens
13.08.2023 · 115 downloads
Uploaded manually due to issues with CI
Commits in Release 3.11.0:
- fix(config-ui-tiny): don't show header when using tabs
- fix(config-ui-tiny): don't use tabs if they would overflow
- feat(config-ui-tiny): support category "tooltips" (rendered as labels and config file comments)
18.07.2023 · 7 674 downloads
Commits in Release 3.10.2:
- fix(config-compiler-plugin): fix config reference from category
18.07.2023 · 248 downloads
Commits in Release 3.10.1:
- chore: bump to 1.20.1
18.07.2023 · 15 058 downloads
Commits in Release 3.10.0:
- feat(config): Config tweakers
- feat(config): DSL-only Config migrations
- style(config): Move IO to dedicated class
- fix(config): Use JsonReader from GsonHolders
- feat(config): Completely migrate to using JsonReader instead of JsonElement
- fix(config-compiler-plugin): Use available method
16.07.2023 · 146 downloads
Commits in Release 3.9.2:
- ci: fix group for modules
16.07.2023 · 76 downloads
Commits in Release 3.9.1:
- chore(build): Use jfMod DSL instead of properties
- fix(config-core): Clean up logging
09.07.2023 · 512 downloads
Commits in Release 3.9.0:
- feat(config-core): Configurable config watch service
- feat(config-commands): Write on change and work in singleplayer
- chore(config-compiler-plugin): Remove deprecated gradle plugin. Use the new javac plugin instead!
09.06.2023 · 10 060 downloads
Commits in Release 3.8.0:
- Update to 1.20
18.05.2023 · 7 967 downloads
Commits in Release 3.7.2:
- [translate] delay translate service initialization since it takes up to 1.5 seconds on startup
22.03.2023 · 8 428 downloads
Commits in Release 3.7.1:
- [config-core-v1] keep preset order
- [config-ui-tiny] refresh widget cache after preset selection
18.03.2023 · 178 downloads
Commits in Release 3.7.0:
- [root] update README
- [config-ui-tiny] highlight hovered entry
- [config-ui-tiny] massive editor screen improvement and better positioning
- [config-ui-tiny] show EditorScreen directly if config consists of single, unsupported entry
- [config-ui-tiny] reflow config screen entries on size change
18.03.2023 · 108 downloads
Commits in Release 3.6.1:
- [config-core] sleep 1s between iterations in watch service loop to free up CPU (wasn't needed that often anyway)
14.03.2023 · 185 downloads
Commits in Release 3.6.0:
- [build] Enable loom multi-project optimisation
- [] enhance testmod metadata
- [config-core] remove unused testmod
- [root] fix runClient
- [root] update for 1.19.4-pre1
- [devutil] add two features from mod-fungible
- [config] use new @Ignore
- [config-ui-tiny] use tabs if upper level contains nothing of note
- [] optimize imports
- [*] bump commons
- [config-ui-tiny] preliminary json editing support
- [root] bump to 1.19.4
15.02.2023 · 8 732 downloads
Commits in Release 3.5.0:
- [config] Framework for UI providers
- [config] Fix include
- [translate] Don't translate white space
30.12.2022 · 1 022 downloads
Commits in Release 3.4.2:
- [config] Generate default preset for all configs (but allow users to remove it)
29.12.2022 · 115 downloads
Commits in Release 3.4.1:
- [web] Use config compiler plugin v2
- [docs] Update for compiler plugin v2
14.12.2022 · 256 downloads
Commits in Release 3.4.0:
- Implement config compiler plugin v2 powered by annotation processing
- Bump gson-compile
- Implement JfCustomConfig on generated
- Fix
- Publish plugin v2
13.12.2022 · 102 downloads
Commits in Release 3.3.2:
- Explicitly initialize LibJF from other preLaunch entrypoints
07.12.2022 · 153 downloads
Commits in Beta 3.3.1:
- Move logger init to preLaunch, remove old gson init
07.12.2022 · 90 downloads
This update contains breaking changes, but should work
Commits in Beta 3.3.0:
- [docs] Update FMJ
- Update to 1.19.3
- Remove deprecated stuff
- Fix
25.11.2022 · 8 916 downloads
[build] Remove log
Commits in Release 3.2.1:
- [docs] Fix references in libjf-config-compiler-plugin
- [build] Fix
- [build] Log env
- [build] Remove log
15.10.2022 · 510 downloads
[docs] Fix references in libjf-config-compiler-plugin
Commits in Release 3.2.0:
- [ci] Use docs.yml
- Update book.toml
- [root] Use gradle.properties for modmenu, asm and ant versions
- [config] Adjust DslConfigCategory to simplify CategoryBuilderImpl.build and ConfigBuilderImpl.build
- [base] Upgrade commons
- Migrate to v1 GsonHolder
- [config-compiler-plugin] Configure default config inject task based on jar
- [build] Switch to gradle.kts and new plugin-based jfmod scripts
- [build] Utilize jf.codegen to replace manual file creation
- [build] Fix
- [devutil] Don't include in pub jar
- [config-reflect] Utilize commons lamda gen
- [docs] Fix references in libjf-config-compiler-plugin
28.08.2022 · 483 downloads
Commits in beta 3.1.0:
- [config] Display sliders when min and max are set
- [config] Fix oversight
- [config] Minor API additions for respackopts
28.08.2022 · 131 downloads
Commits in alpha 3.0.3:
- [config] Handle special numbers
28.08.2022 · 91 downloads
Commits in alpha 3.0.2:
- [translate] Adjust config implementation for new features
28.08.2022 · 100 downloads
A patch for the compiler plugin. The runtime modules are unchanged from 3.0.0
Commits in alpha 3.0.1:
- [config-compiler-plugin] Keep original bytes for non-config classes
27.08.2022 · 643 downloads
This release essentially contains a completely rewritten config system.
While a compatibility layer for mods using the old API is still provided, some dependents may be incompatible without updates.
Commits in alpha 3.0.0:
- [config] Tweak config command
- [config] Support loading configs from provided IDs to support changing IDs
- [root] Tweak build scripts to produce clean POMs with current scripts
- [config] Implement config DSL and rewrite reflection implementation
- [unsafe] Fix and remove unsafe.unlock
- [config] Initial prototype for compile-time configs, module name changes and legacy compatibility
- [config] Various fixes
- Merge branch 'config-dsl' into 'master'
- [docs] Move to mdbook and document libjf-config v1 modules
28.07.2022 · 683 downloads
Commits in beta 2.10.0:
- [unsafe] Explicitly mark quilt as unsupported
- [devutil] Don't get key pairs
- [translate] Update for changes in LibreTranslate API
- [config] Remove internal APIs from interfaces to allow reusing the related systems elsewhere
- [root] Fixes for split sources
- [root] Update to 1.19.1
23.06.2022 · 1 812 downloads
Commits in release 2.9.2:
- [data-manipulation] Temporary workaround for nullable openRoot
- [base] Prematurely update java-commons, attempt to provide ASM-based workaround for existing uses
- [base] Update java-commons again, hopefully fixing the API
- [base] Update java-commons once again
07.06.2022 · 285 downloads
Commits in beta 2.9.1:
- [devutil] Fix issue when running serverside
07.06.2022 · 94 downloads
Commits in beta 2.9.0:
- [unsafe] Fix classpath unlocking and use classPathIsolationBypassClasses. Will need to test changes without it now
- Use upstream loader during dev
- Merge branch 'upstream-loader' into 'master'
- [root] Initial 1.19 support, not yet ready
- [translate-v1] Fetch supported languages for Google Translate on startup
- [root] Bump for 1.19 proper
10.05.2022 · 901 downloads
Commits in beta 2.8.1:
- [config] Remove EntryInfo data class
- [config] Clean up a bit
- [unsafe] Update for fabric loader 0.14
22.04.2022 · 128 downloads
Commits in beta 2.8.0:
- [main] Expand generics package to include most common functions
- [main] Even more generics additions
- [main] Enhance Try DSL
- [main] Allow logic compounds between ThrowingBooleanSupplier and ThrowingPredicate
04.04.2022 · 123 downloads
Commits in beta 2.7.2:
- [base] Shadow gson
- [config] Tweak docs
03.04.2022 · 94 downloads
Commits in alpha 2.7.1:
- [unsafe] Avoid loading main class during ASM manipulation
- [unsafe] Abstract away safe logging in SafeLog
- [config] Allow auxiliary metadata to reside in a sub-object of "libjf"
03.04.2022 · 104 downloads
WARNING: This version contains breaking changes, dependents will likely need to be updated to support these.
Commits in alpha 2.7.0:
- [docs] Remove mkdocs workaround (upstream was fixed)
- [config] Support references to other configs
- [base] Allow specifying custom adapters
- [config] Category support pt 1
- [config] Category support pt 2
- [config] Improve reset button
- [config] Rework to run without unlocking the classpath (this will require dependents to be updated!)
- [config] Expose new features through /libjf config command
- [config] Expose tooltips/titles as comments in json
25.03.2022 · 224 downloads
Commits in release 2.6.1:
- [docs] Mention HTTP abstraction
- [config] Revert config screen API due to fabric-screen-api-v1 incompatibilities
25.03.2022 · 104 downloads
Commits in release 2.6.0:
- List fabric API as dep
- Add README from modrinth
- Mention docs in README
- Work around CoProcesses not being stopped via /stop on servers
- [translate] Implement LibreTranslate support
- [config] Add method to create a config screen
28.02.2022 · 256 downloads
Commits in release 2.5.0:
- Add command to reload config
- Update target floader to 0.13
- Update for 22w06a
- Refactor Config into ConfigInstance and ConfigInstanceImpl
- Reload config if changed
- [docs] tweak libjf-translate-v0 page
- [libjf-config-v0] extend /libjf config command to allow specific reloading, viewing and editing configs
- libjf-translate-v1 api changes to allow new backends
28.01.2022 · 211 downloads
Commits in release 2.4.0:
- Remove gradlew, add libjf-translate-v0
- Document libjf-translate-v0
- Move gradle Xmx to system
08.01.2022 · 119 downloads
Commits in beta 2.3.0:
- Add verifiers and presets to JfConfig
- Attempt to fix config changes
05.01.2022 · 132 downloads
Commits in release 2.2.2:
- web: Set content length header
- Add basic "documentation"
30.12.2021 · 111 downloads
Commits in beta 2.2.1:
- Config: allow floats and always display tooltips
- Unlock classpath in unsafe init
- Tweak AsmTransformer error handling
30.11.2021 · 219 downloads
Commits in beta 2.2.0:
- Update to 1.18 proper
- Update for new build script
- Use unix timestamp for subversions
- Some breaking stuff before 1.18
- Gradle: Get version name from git tag
- Update to pre4
- Fix build.gradle
- Update to 1.18-pre2
- WebServer.getInstance to get the current web server
- Rewrite LibWeb as a LibJF module
- Use pipeline ID as the versions prerelease, not as the build number. Should fix faulty version resolving causing issues in the future
08.11.2021 · 813 downloads
Commits in this release:
- Don't explicitly depend on specific versions of other modules
25.10.2021 · 160 downloads
Commits in this release:
- Make ResourcePackHook.disabled thread "safe"
- simplify interface scanning
16.10.2021 · 156 downloads
Commits in this release:
- Bump patch version
- [attempt] autogen changelog
- [attempt] try to fix
- [attempt] better ci config
- Allow exporting modified classes and fix config
- Allow exporting modified classes
09.10.2021 · 137 downloads
The project has been updated to root project 'libjf'. No changelog was specified.
09.10.2021 · 157 downloads
The project has been updated to root project 'libjf'. No changelog was specified.
18.09.2021 · 136 downloads
The project has been updated to [1.17.1] 1.2.3. No changelog was specified.
17.09.2021 · 92 downloads
The project has been updated to [1.17.1] 1.2.2. No changelog was specified.
17.09.2021 · 92 downloads
The project has been updated to [1.17.1] 1.2.1. No changelog was specified.
25.08.2021 · 223 downloads
The project has been updated to [1.17.1] 1.2.0. No changelog was specified.
18.07.2021 · 216 downloads
The project has been updated to [1.17.1] 1.1.0. No changelog was specified.
08.06.2021 · 190 downloads
The project has been updated to [1.17] 1.0.2. No changelog was specified.
19.05.2021 · 17 709 downloads
The project has been updated to [1.16.5] 1.0.1. No changelog was specified.
15.05.2021 · 136 downloads
The project has been updated to [1.16.5] 1.0.0. No changelog was specified.