Links
Tags
Creators
Details
0.1.1
Compatibility
Changes
Learn By Analogy 0.1.1
This is the first stable release following Learn By Analogy 0.1.0-beta.
Changes
- Fixed the Learned Recipes list layout, including row spacing, text truncation, button alignment, and compact-window scaling.
- Fixed duplicate counting of building rack inventory during dynamic ingredient selection.
- Optimized dynamic recipe lookups, inventory snapshot reuse, and warehouse scanning.
- Improved Search, Learned LIST, and Learned DETAIL request scheduling to reduce redundant server work.
- Added request correlation so outdated Search and Learned LIST responses cannot overwrite the current screen.
- Prevented duplicate teaching requests from being processed repeatedly within a short time window.
- Added stricter validation for menu, building, colony, and crafting-module network contexts.
- Added count and payload-size limits for recipe lists and dynamic recipe previews.
- Added stronger validation and recovery safeguards for learned dynamic-recipe saved data.
- Cleared client GUI caches when disconnecting from a world or server.
- Reduced hot-path log spam and moved detailed diagnostics to debug or trace logging.
- Updated the network protocol from 6 to 7. Multiplayer clients and servers must use matching Learn By Analogy versions.
Compatibility validation
- Validated with Forge 47.4.20, Java 17, MineColonies 1.1.1197, and BlockUI 1.0.193.
- Validated dedicated-server startup and shutdown without JEI.
- JEI remains optional for startup and is recommended on the client for recipe transfer.
Known issue
Extremely rapid scrolling may temporarily show incorrect or stale visual entries due to an upstream MineColonies interface issue. Normal scrolling is unaffected, and no saved-data corruption has been observed.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:MlieYSHI:oLejNdEa"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:MlieYSHI:oLejNdEa"
}

