Tags
Creators
Details
1.3.1+forge1.20.1
Compatibility
Changes
First Aid New 1.3.1
Pain that has a before and after — and a way to shock yourself back onto your feet.
Applies to:
firstaid-1.3.1+fabric1.21.1firstaid-1.3.1+fabric26.2firstaid-1.3.1+neoforge1.21.1firstaid-1.3.1+neoforge26.2firstaid-1.3.1+forge1.20.1
Compared with 1.3.0, which graded the screen (composite pain, morphine colour, suppression rim), 1.3.1 grades time, then cleans up the nerves: a nick no longer spends the whole pain budget, revival no longer leaves you ringing, and a downed player can self-revive with a defibrillator.
Closes GitHub issue #7.
Highlights vs 1.3.0
| Area | 1.3.0 | 1.3.1 |
|---|---|---|
| Pain | One visual strength from current injury | Chronic ache + acute spike that decays |
| Morphine look | Smoothstep fade of remaining time | Exponential fade + 10s rush onset |
| Tinnitus | High suppression / severe pain / near-miss | Explosions, head hits, hard shocks, or overpower suppression only |
| After revival / login | Heartbeat and ringing could stick | Hard-stop + short mute window |
| Defibrillator | Other-player rescue only | Self-revive while downed (hold Use, 3s) |
| Downed HUD | One long rescue line | Two short lines + cyan charge bar |
Pain system
Pain is no longer a single static integer from injury alone.
| Layer | Source | Behaviour |
|---|---|---|
| Chronic | Visible body-part injury | Softer low-end curve; stays until you heal |
| Acute | Recent damage amount | Spikes on hit, decays over a few seconds |
| Display level (Mild→Critical) | Combined | Still 1–5 for HUD / API |
- Higher visual ceiling (
PAIN_HARD_CAP≈ 1.85): brief near-blind blur / FOV tunnel after heavy trauma, then accelerated decay so white-out never sticks. - Wider mild/moderate bands: a few drops of health no longer slam you into extreme/critical presentation.
- ~25% acute breakthrough under morphine/painkillers: opioids mute the wound, not the impact language of a hard hit.
- Optional sprint flare when already severely injured, and a short hitch of slowness when acute pain crosses a high threshold (cooldown-limited).
- Blur and FOV follow continuous intensity (can exceed 1.0 during spikes), with a fast rise and slower settle.
Morphine
Rush window (first 10 seconds)
When morphine activates (oral after delay, or injector immediately), a 10s rush plays layered random stingers from a fixed pool (heartbeat, soft tinnitus, beacon wash, respawn-anchor charge, amethyst chime, etc.). Sounds may overlap; volumes stay moderate.
Saturation curve
1.3.0 faded morphine colour with a simple smoothstep of ticksLeft / max.
1.3.1 uses a decelerating exponential fade over the dose (exp(-k · progress)), with a clean end fade and a high floor during the 10s rush so onset always reads vivid.
Feedback audio (issue #7)
No more stuck ringing / heartbeat
- Hard-stops tinnitus and heartbeat on death, respawn, login/disconnect, and successful rescue.
- Rescue clears residual suppression and starts a short audio mute window so revival does not re-arm ringing immediately.
- Heartbeat no longer sustains from tiny leftover suppression intensity.
Ear ringing is rarer
Tinnitus now comes from:
- Explosion damage
- Head trauma (meaningful HP lost on the head this hit)
- Sudden strong full-body shock (~3+ hearts in one hit)
- Overpowering suppression only (intensity ≥ ~0.85), short and quiet
Near-miss still drives camera/desaturation suppression, but no longer always rings the ears. This is a deliberate step back from 1.3.0’s easier tinnitus.
Self-defibrillator
While critical-downed, hold a defibrillator and hold Use for 3 seconds to revive yourself (1 durability). Bandage/plaster remain other-player rescue items only.
Downed HUD:
- Rescue help is two short lines instead of one unreadable sentence.
- Self-charge uses a cyan progress bar, separate from the red give-up bar.
- Releasing Use mid-charge stops the defibrillator sound immediately.
Fixes since 1.3.0
- Fabric 1.21.1 composite pain / colour post-effect application.
- Forge / NeoForge load crash: a private helper was accidentally marked
@SubscribeEvent(illegal on those buses). - Rescue / self-defib hold audio no longer keeps playing after the hold is cancelled.
Technical
- Pain/morphine model fields (existing 1.3.1 sync):
acutePainIntensity,chronicPainIntensity,morphineRushTicks. - Feedback/self-defib fields:
tinnitusCueId,tinnitusCueSeverity,audioMuteTicks. - Network:
MessageClientRequest.ATTEMPT_SELF_DEFIBappended (no ordinal break for older clients). - Client:
MorphineRushController; tracked tinnitus and rescue-charge sound instances.
Closing
1.3.0 made the screen a nervous system. 1.3.1 gives that system a hit, a gasp, and a long ache — then lets you stop the ringing, and, if you still have a defibrillator in your hand, shock yourself back to work.
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:yNbhkSj2:tZjjuTPD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:yNbhkSj2:tZjjuTPD"
}

