Tags
Creators
Details
v2.1.5+1.21.1
Compatibility
Changes
Bug Fixes
-
Cook crafted/smelted food spiraled to absurd saturation values.
rebuildFoodwas callingFoodProperties.Builder#saturationModifier(float)with what it thought was an absolute saturation value, but that setter stores a multiplier —build()then ran it throughFoodConstants.saturationByModifier(nutrition, modifier)which returnsnutrition * modifier * 2.0. Each Cook (and Smoking Expert) pass fed the previous already-blown-up saturation back through the multiplier; Mollan reported cooked steak coming out with 2639 saturation. The helper now constructs theFoodPropertiesrecord directly so thesaturationparameter remains a literal absolute value, matching Apoli/Origins semantics. On 26.1 the rebuild also dropseatSeconds/usingConvertsTo/effectsoverrides — those moved out ofFoodPropertiesto theConsumabledata component in 26.1, and leaving the originalConsumableuntouched on the stack is the correct preservation path. Resolves GitHub #95. -
Voidwalker (and other Route B resource bars) vanished on relog, blocking abilities that gate on
cur > 0.f1c492fealready fixedonLoginso it no longer reset the stored value back tostart_value— but two residual problems remained: (1) On 1.21.1 theRESOURCE_STATEattachment was missing.copyOnDeath(), so any respawn wiped the saved value entirely (master had it; 2.1 didn't). (2)onLoginre-registered the resource meta but didn't seed the state entry when none existed, sosyncResourcesToClientiteratesstate.getAll()and skipped the bar entirely — symptom was "energy bar disappeared, abilities won't fire because cur=0". Added.copyOnDeath()to the 1.21.1 attachment and a state-seed step inResourcePower#onLoginthat writesstart_valueonly when no entry is present (existing values are preserved). Resolves GitHub #90. -
tamed_animal_boostgranted a permanent attribute modifier that outlived the source mob. The boost modifier was applied once on tame and never cleaned up, so once a player tamed enough mobs they effectively kept the stacked bonus forever — even after every tamed mob died or despawned. The modifier is now recomputed each tick against the current owned-mob count and removed when that count drops to zero. -
persistent_effectshow_icon/show_particles/ambientwere ignored when set at the power root. Pack authors writing the convenience top-level form{ "type": "neoorigins:persistent_effect", "effect": "...", "show_icon": false }got the HUD icon anyway, because those fields were only read off eachEffectSpecand the root-level values were dropped. Top-levelshow_icon,show_particles, andambientnow cascade as defaults onto every nestedEffectSpecthat doesn't declare its own value. -
tame_mobcouldn't tame non-hostile mobs. The target check requiredEnemy, so packs that wanted a generalized "tame any creature" power (animals, golems, villagers) had no JSON knob. Addedhostile_only(defaulttrue, preserving the existing Monster Tamer feel); sethostile_only: falseto allow taming any non-playerMob. Boss rejection viacanUsePortalis unchanged. -
breath_in_fluid's only drain knob (drain_rate) read as "speed" but was actually "ticks between decrements", confusing pack authors. Added two more intuitive aliases:air_loss_per_second(higher = faster drain, internally converted to20 / valueticks) anddrain_interval_ticks(the literal meaning of the original field). Resolution priority isair_loss_per_second>drain_interval_ticks>drain_rate> default20. Existing packs usingdrain_ratekeep working unchanged.
Optional dependencies
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:RUtQ9kfe:mvLkqIMG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RUtQ9kfe:mvLkqIMG"
}


