-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the marionette-lib wiki!
A lightweight procedural animation library for Minecraft Forge 1.20.1, featuring a Blockbench plugin for authoring the rigs it animates.
Marionette builds mobs out of chains of Forge part entities, poses them with FABRIK (Forward And Backward Reaching Inverse Kinematics) inverse kinematics, and syncs them visually with corresponding model parts, enabling easy runtime procedural animation: simply give a limb a target in world space and it'll reach for it.
The library is paired with a Blockbench plugin, which allows for visual rigging, simulation, and automatic Java code generation.
Marionette consists of two halves:
- the runtime Java library
- the Blockbench plugin, for visual model creation and exporting
Marionette is available through the Curse Maven.
Add the following repository and dependency to your build.gradle:
repositories {
maven {
url = "https://cursemaven.com"
}
}
dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
implementation fg.deobf("curse.maven:marionette-lib-1361747:9033319")
}Replace 9033319 with the version's Curse Maven file ID if you are using a
different version.
Also don't forget to declare it as a dependency in
your META-INF/mods.toml:
[[dependencies.yourmodid]]
modId="marionette_lib"
mandatory=true
versionRange="[1.0.0,)"
ordering="AFTER"
side="BOTH"Requires Blockbench v5.1.6 or newer and Node 18+ to build.
cd marionette-lib/blockbench-plugin
npm install
npm run build # -> dist/marionette.jsIn Blockbench: File → Plugins → Load Plugin from File, and pick
dist/marionette.js. A Marionette Rig format then appears on the start
screen; the plugin's tools and panels only show up inside that format, so
nothing should change for your other projects.
Java library
Really not too useful unless you're writing a model from scratch or forking the library. If you're using the Blockbench plugin, the only crucial thing to check out is the last section in Creating an Entity.
- Concepts — parts, limbs, the solver, the coordinate conventions
- Creating an Entity — entity, model and renderer, start to finish
- API Reference — every class and its useful methods
Blockbench plugin
- Rigging a Limb — roles, joints, bones, and the creation tools
- Simulation — running the real solver in the viewport
- Exporting Java — what the four generated files contain
Java library
Blockbench plugin