All versions
4.2.7
Release
Youkai's Homecoming-unofficial-port 4.2.7last month 622
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client and server
Changes
4.2.7
New Features
- Added Civillis compatibility: Touhou characters are no longer affected by civilization flee mechanics or spawn suppression. Implemented via NeoForge event listener (removes injected flee goals) and Civillis datapack whitelist (bypasses spawn gate).
- Added Curios rendering support: hats and hairbands equipped in Curios head slot now render on the player model (previously only rendered in the armor helmet slot).
Bug Fixes
- Fixed Udumbara crop missing its age-6 harvest mechanic: right-clicking at ~80% growth now drops seeds, resets to age 2, and triggers the "udumbara_leaves" advancement (matching 1.20.1 behavior).
- Fixed 6 bamboo bowl food items (tutu congee, rice powder pork, kaguya hime and their raw variants) rendering as purple-black blocks when placed. Missing parent model files were restored.
- Fixed tarte_lune and red_velvet rendering as purple-black blocks: updated model parent paths from
farmersdelight:block/pietofarmersdelight:block/template_pie(renamed in Farmer's Delight 1.21). - Removed invalid stonecutting recipe: iron ingot → short iron pot.
- Removed conflicting moka pot recipe: coffee powder → americano (conflicted with espresso recipe). The espresso → americano recipe remains.
- Fixed red_velvet block Chinese translation from "红色天鹅绒色" to "红丝绒蛋糕".
Technical
- Optimized FastProjectileAPI collision detection (previously consuming ~45% of server tick time, now expected ~5-10%):
- Added distance-squared pre-check in
IEntityCache.foreach()to skip entities far from the search box before running expensive AABB intersection tests - Eliminated redundant
partEntitiestraversal: previously duplicated across all 27 sections per search, now processed once at the end - Merged hit/graze sampling passes: players that miss the hit box now only require 1 sample pass instead of 2
- Reused
EntityStorageCacheobjects viareset()instead of allocating new instances each tick, reducing GC pressure - Split graze search area: graze checks now iterate
ServerLevel.players()directly (typically 1-4 players) instead of inflating the broad-phase search region
- Added distance-squared pre-check in
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:gjywHTJ3:kA9uuVq0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gjywHTJ3:kA9uuVq0"
}

