1.1.5-mc26.1-26.2
Compatibility
Changes
🚀 Photophobic Mobs - Update v1.1.5
AI & Light Logic Fixes Functional Torch Repel: The enableTorchRepel config setting is now fully integrated into the AI logic. When turned off, mobs will ignore placed torches and block light while still reacting to held/dropped lights or fire/lava if enabled. Fixed Zero-Radius Hitbox Bug: Setting fleeHeldLightRadius or fleeDroppedItemRadius to 0.0 now completely disables held/dropped light detection instead of checking the mob's own collision hitbox. Fixed Light-Source Spawning (Zero-Delta Vector): Mobs spawning or standing directly on top of a light source (torch, fire, lava) no longer freeze or fail pathfinding. A new fallback safely routes them to the nearest dark, walkable area.
Dynamic Attraction Threshold: Fixed attractLightThreshold being ignored by Creepers and Spiders; it now strictly follows your custom config value rather than a hardcoded light level. Real-Time Commands & Goal Cleanup Instant Mob Removal: Running /photophobic removeflee <mobId> or /photophobic removeattract <mobId> now immediately updates all loaded mobs in the world and strips their light AI in real-time. Clean State Transitions: Added proper stop() handlers to flee/attract goals, preventing mobs from aimlessly running to old target vectors when goals finish or are cancelled.
Performance & Server Optimization (Zero TPS Lag) $O(1)$ Registry Cache: Replaced all runtime String checks during entity ticks with lightning-fast, zero-allocation $O(1)$ Hash Set lookups, keeping server tick rates (TPS) completely smooth even with hundreds of active mobs. Safe Search Boundaries: Added safety clamps to search radii to prevent lag spikes on heavily populated servers. Streamlined Client Architecture: Removed the outdated client GUI to prevent desyncs on Dedicated and LAN servers; all configuration is now cleanly managed via server commands and photophobicmobs.json.
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:H1Ub0xC2:9S5aPR2X"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:H1Ub0xC2:9S5aPR2X"
}

