Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
✨ OBJ Entity Animator – In-Game OBJ Animation & Modeling Framework OBJ Entity Animator adds a complete in-game animation, modeling and behavior system for OBJ files to Minecraft. Import models, animate them, control entity behaviors, create custom creatures, build animated props, render OBJ models as blocks and edit everything without leaving the game.
🚀 What Does This Mod Do? OBJ Entity Animator includes the following features:
➜ Loads Wavefront OBJ + MTL files from config/objanim/import/... ➜ Replaces entities, blocks and items with 3D OBJ models ➜ Full in-game keyframe animation editor with timeline and part animation ➜ Behavior system (sleep, eat, drink, wander, aggression, emotions, follow, etc.) ➜ Animated OBJ Block for placing animated 3D models into the world ➜ Model Workbench for OBJ import/export, UV editing, texture painting and mesh editing ➜ Export animations as JSON snapshots for other mods/engines ➜ Fully in-game workflow (no external tools needed)
🧩 Features in Detail 📂 Import Folder Structure On first launch, the mod creates:
► import/entity – models for entities/mobs ► import/block – block models ► import/item – item/handheld models ► import/custommodels – misc models (Steve rigs, props, tools) ► export – exported OBJ files & textures ► customsound – .ogg sound files ► UIelements – GUI thumbnails ► Additional JSON configs: behavior, video settings, debug, unified config
The mod scans these at startup and builds an internal model index.
🧍 Entity Animator & Behavior System Open the OBJ Entity Editor: ► Keybind: O
Inside you can:
► Choose an entity or load a model manually ► Create activities (idle, walk, attack, sleep, eat, drink, custom…) ► Use timeline-based animation ► Set keyframes per part ► Modify rotation, position and scale ► Assign custom sounds from customsound/
BehaviorConfig GUI allows:
► Sleeping (nightly sleep animation, lying pose) ► Eating / drinking ► Aggression & attack behavior ► Idle emotions ► Follow / wander settings
Vanilla AI is not removed: preserveVanillaBehaviors = true
🧱 Animated OBJ Block Registered objects:
► Block: animated_obj_block ► BlockEntity: animated_obj_block ► Item: animated_obj_block
Used for:
► Decorations ► 3D signs / displays ► Machines / moving parts ► Animated statues & props
Performance options: config/objanim/video/objanim_video.json
🛠 Model Workbench Item: model_editor
Opens the in-game 3D editing suite:
► OBJ import from import/ ► OBJ export to export/ ► Mesh editing (vertex editing, transform gizmos) ► UV editor ► Texture painting ► Create new PNG textures ► Includes example Steve models: assets/objanim/models/steve
🖼 GUI Thumbnails & Texture Overrides ► Auto-generate model thumbnails ► Save to UIelements/ ► Optional inventory icon override ► Per-category configuration (items, blocks, entities)
🔊 Custom Sounds To add custom sounds:
► Place .ogg files into config/objanim/customsound ► In the animator: – Open CustomSoundSelectScreen – Preview sounds – Assign to animations or activities
🔁 Model Replacement & Commands The mod maps imported models automatically to known entities, blocks and items.
Commands: /objanim reload Reloads all imported models.
/objanim apply <modelName> Applies a specific model to all matching targets.
/objanim apply-all Applies all imported models in bulk.
🎮 Player Manual 2.1 Installation ► Install NeoForge 21.x ► Place the mod JAR into mods/ ► Launch the game once to generate folders
2.2 Adding Your Own Models Place the model files:
Entities → import/entity Blocks → import/block Items → import/item Misc → import/custommodels
Reload models: /objanim reload
2.3 Using the Entity Animator ► Press O ► Select entity or choose model ► Create activities ► Open Part Animator – Select parts – Add keyframes – Adjust rotation/position/scale ► Save and preview ► Configure behaviors ► Assign custom sounds
2.4 Using the Animated OBJ Block Get block:
/give @p objanim:animated_obj_block
Workflow:
► Place block ► Open block editor ► Select OBJ model ► Select animations ► Configure orientation, scale and settings ► Adjust performance in video/objanim_video.json
2.5 Using the Model Workbench Get item:
/give @p objanim:model_editor
Inside editor:
► Import / edit / export OBJ files ► Edit textures ► Modify UVs ► Edit meshes ► Export results to export/
2.6 Using Custom Sounds ► Add .ogg files to customsound/ ► Inside animator: – Select sound – Preview – Assign to activities/keyframes
2.7 Thumbnails & UI ► Thumbnails stored in UIelements/ ► Enable/disable in unified config ► Optional inventory overrides
🛠 Modder Documentation / Integration Guide 3.1 Adding OBJAnim as a dependency mods.toml:
[[dependencies.yourmod]] modId="objanim" type="required" versionRange="[0.2.0,)" ordering="NONE" side="CLIENT" Or optional:
type="optional" 3.2 Using ModModelAPI
// Load a model OBJModel model = ModModelAPI.loadModel("entity/sheep_custom");
// List models var lists = ModModelAPI.listModels(ModModelRegistry.ModelCategory.ENTITY);
// Search var dragons = ModModelAPI.findModels("dragon");
// Preload ModModelAPI.preloadModel("entity/sheep_custom"); Use for:
► Custom renderers ► Automatic model loading ► Large model repositories
3.3 Using ModModelRegistry
ModModelRegistry registry = ModModelRegistry.getInstance(); registry.initialize();
var meta = registry.getModelMetadata("entity/sheep_custom"); OBJModel model = registry.getModel("entity/sheep_custom"); Used for low-level metadata and cache handling.
3.4 Using OBJEntityManager
OBJEntityData data = OBJEntityManager.getOrCreate(entity); OBJModel current = data.getCurrentModel(); String activity = data.getCurrentActivity(); int tick = data.getAnimationTick(); Use for:
► Reading animation state ► Triggering particles ► Context-based effects
3.5 Using ItemDisplayAPI
String path = ItemDisplayAPI.getObjModelPath(stack); if (path != null) { OBJModel model = ModModelAPI.loadModel(path); } Used for:
► Custom item renderers ► Consistent OBJ model loading
3.6 /objanim Dev Commands /objanim reload – reload import folders /objanim apply <model> – apply specific model /objanim apply-all – apply all models
Ideal for artists and developers.
3.7 Best Practices ► Use optional dependency loading ► Follow the import folder structure ► Load models on the client thread ► Preload large sets for performance
✔ Compatibility & Requirements ► Loader: NeoForge ► Requires NeoForge 21.x ► Minecraft 1.21.x ► Client & Server supported ► Editors & GUIs are client-only



