Tags
Creators
Details
0.12.0+1.21.11
Compatibility
Required content
Changes
0.12.0: The NPC becomes a storyteller
Quests, an animation maker, and a reactions system that can finally tell one situation from another.
Quests
A quest is a job an NPC hands out. Manage tab, then Quests to write one, then any NPC can give it out by name, from a reaction or from a line of dialogue. Write it once, hand it out anywhere.
Five things a quest can ask for: kill something, collect something, talk to someone, go to a place, or deliver items to someone. Every one of them pays coins, an item, or both.
Each quest says how it ends. Pays now settles the moment you do the thing. Hand back sends the player to an NPC, which is right for a story. Whoever gave the quest accepts it back with no extra setup.
Two ways to build a chain. Needs is a gate: the quest exists but is refused until another one is finished. Then is a handoff: finishing one starts the next on the spot.
Faction quests are for guilds. Only members can take one, and faction mates within 48 blocks share the progress, so three people clearing a cave all count the kills. Everyone gets their own full reward.
/quests shows a player what they are on, with a hand-in button as a safety net
if the giver has gone.
The animation maker
Manage tab, then Animations. Build a loop of poses and any NPC can play it, either forever from the Pose tab or once from a reaction, so a guard can wave when you talk to it and go back to standing.
Keyframes sit anywhere on the timeline, not at fixed spacing, so you can do a fast snap and a slow settle. A dope sheet shows a lane per body part. A keyframe only holds the parts you touch, so two limbs can move on different rhythms.
Every keyframe has easing, and new ones ease both ways, because a linear wave reads as a robot.
A mannequin shows the frame you are editing, with a ghost of the previous pose behind it. Mirror flips left and right, which halves the work on any walk cycle. You can grab a limb on the mannequin and drag it rather than hunting for a slider.
Blockbench models are untouched. They already animate through GeckoLib.
Reactions that can tell situations apart
Any action can carry a condition. One small change with a large result: a single NPC can greet a stranger, nudge someone mid-quest, take the hand-in and thank them afterwards, all from one screen with no dialogue tree.
New actions: heal the player, give an effect, teleport (same world or another, landing on solid ground), give quest, turn in quest, and play animation.
Two new triggers: when an NPC is near, for chatter between NPCs, and when a quest is finished. An NPC reacting to another NPC stops walking, turns to face them, and carries on. It only fires with a player in range, so an empty town stays quiet.
Dialogue pages can branch
A page can carry two conditions, and the NPC opens on the first page that matches. So one NPC has a page per quest state instead of a button per state, and the greeting stops coming back once you have taken the job.
More ways to gate a choice too: faction, time of day, and experience level.
One place for how an NPC looks
Seven settings that were scattered across three screens now live on one Appearance screen with tabs. It also gained tint, fade, and a hitbox you can resize and see while you drag it.
Shops
Admin shops are gone as a separate thing. They are player shops with an admin flag, so there is one shop system and every player feature works on a server shop. Existing admin shops convert themselves.
Shops also gained restocking on a game or real clock, a cap on what one player can buy, prices that drift with stock, and the ability to buy from players, not only sell.
Fixes
- Tints and fades did nothing on 1.20.1 and 1.21.1. The hook they used only exists from 1.21.11, so on the two older versions the code was skipped and never told anyone.
- Admins could not see admin-only actions on 1.21.11 and up. The check asked whether the player was a server player, which is never true on the client, so it hid them from everyone.
- 1.20.1 crashed on any NPC once animations landed, because the entity registers its fields in two places and the new ones went into one.
- NPCs showed up empty handed on 1.21.11 and up. Armor and held items never reached the drawing step.
- Player skins never loaded. On 1.21.11 the picture was built on the wrong thread; on 1.20.1 and 1.21.1 the download hung up before the game could read it. A failed name also retried every frame until Mojang rate limited us, so it now waits a minute between tries.
- A shop could not buy an item without also selling it. It demanded a sell price first, so players had to spend coins to make a deal that pays coins.
- The hitbox preview drew behind the model on older versions, the quest tracker sat under advancement toasts, and the new screens were washed out by the 1.21 menu blur.
- Item and mob fields autocomplete as you type, so a typo cannot quietly save as Air.
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:gGHT7Irr:UAC2xUKr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gGHT7Irr:UAC2xUKr"
}

