promotional bannermobile promotional banner

Seppuku

Adds a modified Seppuku Animation from Epic Fight Dawn Day to Player Animator. Made with Permission from Nexo.

# Seppuku

A small Forge 1.20.1 mod for the Winterheart modpack. It plays a seppuku animation on a player for the bad ending. The animation is visible in first person when First Person Model is installed.

Requires PlayerAnimator (playeranimator 1.0.2-rc1+1.20 or newer) on both the client and the server.

Credits

The seppuku animation is by Nexo and sidtheplayer, from Epic Fight: Dawn Day. It is converted and used with Nexo's permission, including distribution on CurseForge (see Permission below). Dawn Day is All Rights Reserved, and the animation remains the property of its original authors.

How this differs from Epic Fight: Dawn Day

  • No Epic Fight needed. Dawn Day is an Epic Fight add-on. Seppuku runs on PlayerAnimator and the vanilla player model.
  • One animation only. It contains just the seppuku animation, converted from Epic Fight's skeleton format to the vanilla player model by a custom converter. The converter aims the arms, matches the sword grip, and trims the animation to the kneeling stab.
  • Built for scripted use. It adds a command and a server-side API so modpacks and KubeJS can trigger the animation. The animation is synced to every player who can see it.
  • None of Dawn Day's other content. It has no weapons, movesets, mob death animations or loot.

Hook

Commands (permission level 2, so they work from KubeJS server.runCommandSilent):

/seppuku play <targets> [animation]   # default animation: seppuku:seppuku
/seppuku stop <targets>

Java/KubeJS API (server side):

const SeppukuApi = Java.loadClass('io.github.soldierdonkey2.seppuku.SeppukuApi')
SeppukuApi.play(player)
SeppukuApi.stop(player)

The animation plays for 59 ticks (about 3 s) on the player and everyone who can see them, then holds the final kneeling pose until stop is sent or the player respawns. See examples/kubejs_bad_ending.js on the GitHub for the day 50 / low sanity trigger.

Regenerating the animation

src/main/resources/assets/seppuku/player_animation/seppuku.json is generated from the Epic Fight animation by tools/convert_epicfight.py (needs Python 3 and numpy):

python3 tools/convert_epicfight.py path/to/sepukku.json \
    src/main/resources/assets/seppuku/player_animation/seppuku.json --end 2.9

Options:

  • --start / --end: the section of the source animation to use, in seconds. The source is 4.68 s long. The kneeling stab ends around 2.9 s, and after that the player stands back up.
  • --keep-horizontal: keep the hips' forward travel. This is off by default so the body stays under the first-person camera.

The vanilla player model has no elbows or knees. The converter therefore aims each straight arm at the Epic Fight hand and moves the held item so the sword grip matches the original exactly. Kneeling legs come out straight along the thighs.

Permission

Nexo, the creator of Epic Fight: Dawn Day, gave permission for this mod and for its distribution on CurseForge:

I, Nexo, Creator of Epic Fight: Dawn Day give Soldierdonkey/Kaamos permission to use the modified version of DawnDays Seppuku Animation in a separate standalone mod made for his modpack and I clear this mod for distrobution on curseforge

Seppuku Team

profile avatar
  • 1
    Projects
  • 22
    Downloads

More from soldierdonkey2