{"id":93517,"date":"2026-06-05T11:21:16","date_gmt":"2026-06-05T08:21:16","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/"},"modified":"2026-06-05T11:21:16","modified_gmt":"2026-06-05T08:21:16","slug":"lib39","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/","title":{"rendered":"Lib39"},"content":{"rendered":"<p>Lib39 is a loose collection of utilities, mixins, events, etc originating in our content mod Yttr \u2014 people constantly talk about &#8220;stealing&#8221; mixins from Yttr since it has so many random useful things in it, so we decided it&#8217;d be a good thing to split it up into a library.<\/p>\n<p>39 is the atomic number of Yttrium. You can pronounce it as &#8220;lib thirty nine&#8221;, &#8220;lib three nine&#8221;, &#8220;lib miku&#8221;, whatever you want.<br \/>\n# Getting Started<br \/>\nLib39 is distributed on the Sleeping Town Maven. Merge the following with your build.gradle:<br \/>\n&#8220;`gradle<br \/>\nrepositories {<br \/>\n\tmaven {<br \/>\n    \turl &#8216;https:\/\/repo.sleeping.town&#8217;<br \/>\n        content {<br \/>\n        \tincludeGroup &#8216;com.unascribed&#8217;<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<p>dependencies {<br \/>\n\tmodApi include(&#8220;com.unascribed:lib39-core:2.0.7+1.20.1&#8221;)<br \/>\n\t\/\/ put any other modules you want here<br \/>\n\t\/\/ loom won&#8217;t JiJ transitive deps, so you need to include all of them<br \/>\n}<br \/>\n&#8220;`<br \/>\nLib39 is also distributed on Modrinth, but you are **strongly** encouraged to JiJ the modules. They&#8217;re small.<\/p>\n<details>\n<summary>Exact module sizes when JIJ&#8217;d if you care<\/summary>\n<p><!-- zipinfo -l lib39-*-all.jar |grep 'META-INF\/jars\/lib39-' |awk '{ print ($6 \/ 1024) \"\/\" $10 }' |cut -d\/ -f1,4 |tr \/ - |cut -d- -f1,3 |sort -n |sed -E 's\/^([0-9]+.[0-9][0-9])[0-9]*-(.)(.*)$\/| U2L3E | 1KiB |\/' |sed 's\/Aqi\/AQI\/' |wl-copy --><\/p>\n<p>| Module      | Size       |<br \/>\n| &#8212;&#8212;&#8212;&#8211; | &#8212;&#8212;&#8212;- |<br \/>\n| Lockpick | 4.38KiB |<br \/>\n| AQI | 5.20KiB |<br \/>\n| Util | 5.58KiB |<br \/>\n| Ripple | 6.06KiB |<br \/>\n| Sandman | 6.56KiB |<br \/>\n| Deferral | 6.57KiB |<br \/>\n| Crowbar | 6.83KiB |<br \/>\n| Dessicant | 9.23KiB |<br \/>\n| Wrangle | 9.62KiB |<br \/>\n| Recoil | 9.79KiB |<br \/>\n| Phantom | 12.10KiB |<br \/>\n| Mesh | 13.99KiB |<br \/>\n| Weld | 16.69KiB |<br \/>\n| Waypoint | 22.33KiB |<br \/>\n| Core | 26.12KiB |<br \/>\n| Tunnel | 27.85KiB |<br \/>\n| Machination | 33.06KiB |<br \/>\n| Keygen | 34.88KiB |<br \/>\n| **Total**   | **257KiB** |<\/p>\n<\/details>\n<p>Replace `core` with whatever the module (or module*s*) you want is\/are.<\/p>\n<p>Lib39 1.4 and earlier only support 1.19-1.19.2. Lib39 1.5 adds 1.18.2 and 1.19.3 support, and a series of &#8220;experimental&#8221; builds provide 1.20.1 support. Lib39 2.0 is API-compatible with 1.x and is presently only available for 1.20.1, and is developed in tandem with Yttr.<\/p>\n<p># Modules<\/p>\n<p>&#8211; **Core**<br \/>\n  Random utility classes such as AutoRegistry, AutoMixin, and shared classes with the other modules.<br \/>\n  Also contains random small tidbits, such as crafting sounds.<br \/>\n&#8211; **Lockpick**<br \/>\n  Mixins to allow removing artificial limits, such as model rotation angles, crafting recipe sizes,<br \/>\n  and more. Various other related utilities as well, such as the ability to inherit elements from<br \/>\n  parent models.<br \/>\n&#8211; **Ripple**<br \/>\n  Allows customizing splash texts.<br \/>\n&#8211; **Tunnel**<br \/>\n  Adds a convenient networking system based on Concrete Network from 1.12.<br \/>\n&#8211; **Phantom**<br \/>\n  Adds the ability to &#8220;phase&#8221; blocks out of the world temporarily. The blocks are never removed from<br \/>\n  the world, simply hidden.<br \/>\n&#8211; **Waypoint**<br \/>\n  Adds an additional baked world layer with additive blending for rendering various kinds of glowy<br \/>\n  effects.<br \/>\n&#8211; **Weld**<br \/>\n  Adds a &#8220;big blocks&#8221; system for creating &#8220;prefab&#8221; blocks like vanilla beds, but way nicer and with<br \/>\n  theoretically no size limit.<br \/>\n&#8211; **Sandman**<br \/>\n  Adds the ability to make items &#8220;always tick&#8221;, leveraging random ticks.<br \/>\n&#8211; **Crowbar**<br \/>\n  Adds events for low-level world generation phases, such as constructing surface rules, and raw<br \/>\n  access to chunks during the surface and population phases for invoking custom generators.<br \/>\n&#8211; **Keygen**<br \/>\n  Adds the ability to load music in XM, S3M, and MOD format via IBXM2.<br \/>\n&#8211; **Dessicant**<br \/>\n  Implements &#8220;logical defaults&#8221; for loot tables, and automatically manages recipe unlocks based on a<br \/>\n  &#8220;discovered_by&#8221; key in recipe JSONs. Blockstates and block\/item models soon.<br \/>\n&#8211; **Machination**<br \/>\n  Adds new recipe types, such as a &#8220;soaking&#8221; recipe for throwing items in a fluid and a &#8220;smashing&#8221; recipe for crushing a block between two others with a piston. Comes with EMI support.<br \/>\n&#8211; **Recoil**<br \/>\n  Events to let you mess with the camera and FOV, and a way to suppress vanilla behavior and catch raw attack\/use. Everything you need to make a satisfying gun mod, basically.<br \/>\n&#8211; **Util**<br \/>\n  Random utility classes. No docs yet.<br \/>\n&#8211; **AQI**<br \/>\n  Fixes vanilla particle rendering behind translucent blocks on Fancy\/Fast graphics by rendering in two passes, like pre-1.14.<br \/>\n&#8211; **Mesh**<br \/>\n  Adds an efficient graph-based block network system, for pipes and the like. No docs yet.<br \/>\n&#8211; **Wrangle**<br \/>\n  Adds a &#8220;control hints&#8221; system. No docs yet.<\/p>\n<p># Former modules<\/p>\n<p>&#8211; **[Fractal](Fractal)**<br \/>\n  Adds a &#8220;subgroup&#8221; system for splitting up creative tabs even further. Now maintained by DaFuqs as a standalone library.<\/p>\n<p># Future modules<br \/>\nYttr has a lot of weird mixins and utilities in it, and I&#8217;d be here a while were I to factor them all out at once. Here&#8217;s some things I want to separate out but haven&#8217;t gotten around to yet:<\/p>\n<p>&#8211; **Equivalence**<br \/>\n  Adds a &#8220;substitutes&#8221; system, for making items functionally the same as others in recipe ingredients and tags.<br \/>\n&#8211; **Conflagration**<br \/>\n  Adds a CSS-based configuration system and a framework for making GUIs that interact with it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Useful mixins, events, and utilities originating in Yttr.<\/p>\n","protected":false},"featured_media":93518,"template":"","meta":{"_minecraft_slug":"lib39","_minecraft_project_id":"BMsWWSPQ","_minecraft_author":"exaptations","_minecraft_license":"MIT","_minecraft_downloads":26991,"_minecraft_follows":7,"_minecraft_client_side":"required","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"lib39.zip","_minecraft_size_bytes":11209858,"_minecraft_version_count":249,"_minecraft_updated_at":"2026-05-16T19:16:48.786797Z","_minecraft_date_created":"2022-08-16T23:37:47.331705Z","_minecraft_date_modified":"2025-12-03T23:42:55.584263Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/lib39","_minecraft_icon_attachment_id":93518,"_minecraft_imported_at":"2026-06-05T08:21:17+00:00","_minecraft_import_hash":"ceaa8dc8217120ae310d421e474b28e3","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,89,873,98,92],"mod_loader":[99,100],"minecraft_version":[53,55,56,57,36],"class_list":["post-93517","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-game-mechanics","mod_category-library","mod_category-quilt","mod_category-utility","mod_loader-fabric","mod_loader-quilt","minecraft_version-1-18-2","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-20-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lib39 - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lib39 - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Useful mixins, events, and utilities originating in Yttr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/\",\"name\":\"Lib39 - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp\",\"datePublished\":\"2026-06-05T08:21:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/lib39\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Lib39\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lib39 - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/","og_locale":"en_US","og_type":"article","og_title":"Lib39 - Minecraft","og_description":"Useful mixins, events, and utilities originating in Yttr.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/","name":"Lib39 - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp","datePublished":"2026-06-05T08:21:16+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/lib39\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/lib39-icon-8a8229eaf370f3398f9f44dd91e079317526ebc6_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/lib39\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Lib39"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/93517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/93518"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=93517"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=93517"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=93517"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=93517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}