Bedrock Minecraft addons stopped being reskinned mobs a while ago. Dig through what people are publishing now, and you’ll find entities that track the player, flip between behavior states, run their own animation controllers, open dialogue windows, and do different things depending on what’s happening around them. The result plays less like another cow wandering past and more like something you’re actually interacting with.
One project people search for constantly — usually as Jenny mod Minecraft — is a reasonable example of the pattern: a custom entity wired up with dialogue, animations, state switching, and follow mechanics. Whatever you think of any individual add-on, the technical approach behind it is the part worth understanding.
What separates a character addon from a normal mob
Vanilla mobs run on a small rulebook. Zombies path toward the nearest target, animals follow whoever’s holding wheat, and villagers wake up and go to work. It’s all components and priorities, and it’s fairly readable once you crack open the behavior files.
Character addons use the same building blocks, just a lot more of them. A companion might idle in place until you get within a few blocks, start following after you interact with it, hold position past a certain distance, and drop that state entirely when something else fires. Component groups do most of the heavy lifting here — define a set of components, then add or remove the whole group with an entity event.
There’s no AI involved in any meaningful sense, despite what the showcase videos suggest. It’s conditions, events, movement components, and animation controllers stacked on top of each other. Layer them well, and a fairly dumb entity reads as responsive.

Two packs, one character
Almost every complex character needs both a resource pack and a behavior pack, and they do genuinely different jobs.
| Component | What lives there |
| Behavior pack | entities/yourmob.json — health, movement speed, navigation, interact components, events, component groups |
| Resource pack | Client entity file, geometry, textures, render controller, and the animations themselves |
| Animation controllers | The switching logic between idle, walk, interact, and whatever else you’ve defined |
The split trips people up constantly. The behavior pack says “follow the player.” The resource pack supplies the walk cycle that plays while it does. If the resource side is missing or out of date, you get an entity that slides around the world in a T-pose — technically functional, visually broken.
Animation controllers sit between the two. They watch Molang queries like query.is_moving or a custom variable and decide which animation should be playing right now.
Dialogue, animation, and the companion loop
Dialogue is the clearest line between a custom mob and a companion. Bedrock has a real NPC dialogue system — the minecraft:npc component plus dialogue scenes you can open with /dialogue open — and buttons in those scenes can run commands, which can fire entity events, which can swap component groups. That chain is what lets a conversation change how the character behaves afterward.
Animations carry the rest. Separate sequences for idle, walking, sitting, interacting, and reacting to something nearby. The controller decides when each one starts and what it falls back to when the condition stops being true.
Then there’s the tuning nobody notices in a demo video: follow distance, movement speed, interaction cooldown, what counts as a valid target, whether the navigation component allows doors, water, or jumping. None of it is clever on its own. The combination is what sells the illusion.
The experimental features question
Some add-ons need experiments toggled on in world settings. Beta APIs are the big one if the project uses @minecraft/server scripting.
The failure mode here is what confuses people. The pack imports fine, the entity spawns fine, and then half the mechanics silently do nothing. No error, no warning, no crash. The character just stands there looking correct.
If you’re debugging, turn on the Content Log GUI in creator settings before anything else. It’ll tell you which file the game choked on instead of leaving you to guess.
Experiments also move around between releases. Features get promoted to stable, renamed, or dropped, so a pack that ran perfectly on one version can break on the next for reasons that have nothing to do with the creator.
When the import goes wrong
Missing textures, an invisible entity, animations that never fire, dialogue that won’t open, a mob that spawns and then refuses to move — most of it comes down to a short list of causes:
- Check min_engine_version in the manifest against the version you’re actually running.
- Confirm both packs are applied. People activate the behavior pack and forget the resource pack all the time.
- Enable any experiments the description mentions.
- Delete older copies of the same addon. Duplicate identifiers are miserable to diagnose.
- Test in a throwaway world first.
That last one matters more than it sounds. Once you enable experiments on a Bedrock world, that world is flagged permanently — you can’t turn them back off, and achievements stay disabled. Finding that out on your main survival save is not a great afternoon.
What do people build with this
Companions are for one use. The same machinery works for merchants, quest givers, guards, minibosses, and story NPCs for adventure maps.
The shift is structural. Instead of shipping one entity in isolation, creators build a small web of connected mechanics around it: dialogue fires an event, the event swaps a component group, the animation controller notices and changes what’s playing. Each link is simple. The chain is the new part.
Minecraft is still a game about digging holes and building things. But the addon framework has stretched a long way past custom mobs, and what people are shipping now sits closer to small gameplay systems than to reskinned pigs.
FAQ
Do character addons replace existing mobs?
Sometimes. Plenty of projects add a brand new entity with its own identifier; others overwrite a vanilla one. Overwriting is why two add-ons can conflict for no obvious reason.
Why does my custom character show up with no animations?
Usually, the resource pack isn’t applied, or its format_version doesn’t match what your Minecraft build expects. An outdated behavior pack can do it too, but the resource side is the first place to look.
Can I run several companion addons in one world?
Often, yes. Conflicts show up when two projects touch the same identifiers, textures, or scripts. Test the combination on its own before committing to it.
Do interactive characters always need experiments?
No. A lot can be done with stable components alone. Experiments come into play mainly with scripting APIs and newer entity features.
Why did my add-on stop working after an update?
Bedrock updates change entity components, script APIs, and animation systems fairly regularly. The pack usually needs an updated release rather than anything you can fix on your end.


