Skip to content

Profile Reference

Markus Bordihn edited this page Jun 16, 2026 · 2 revisions

Profile Reference

This page summarizes the current profile fields, IDs, presets, animation modes, and pack paths.

πŸ“ Server Profiles

Server profiles live in the data pack:

data/<namespace>/easy_model_entities/profiles/entity/<id>.json
data/<namespace>/easy_model_entities/profiles/block_entity/<id>.json

Important fields:

  • schema_version: optional; current value is 0.1.0.
  • model_type: entity or block_entity.
  • preset_type: server preset for behavior and host type.
  • version: optional version string for cache and debug output.
  • client.render_profile: render profile in the resource pack.
  • dimensions: optional size settings; contains width, height, and eye_height.
  • movement: optional entity movement settings; contains speed, step_height, and gravity.
  • behavior: optional entity behavior settings; contains mode, look_at_players, and random_stroll.
  • attributes: optional entity attributes; contains max_health, movement_speed, and follow_range.

Block entity profiles ignore entity movement, behavior, and attributes.

πŸͺ„ Generated Defaults

For pack authors, most fields are optional because EME derives them from the profile ID and preset.

Server profile defaults:

  • schema_version: defaults to the current schema.
  • version: defaults to an empty string.
  • client.render_profile: defaults to the server profile ID.
  • entity.type, entity.movement_type, and entity.body_type: generated from the entity preset.
  • block_entity.type and block_entity.body_type: generated from the block entity preset.
  • dimensions: generated from the preset; block entities default to width: 1.0, height: 1.0, eye_height: 0.5.
  • movement: generated from the movement type.
  • behavior: generated from the preset and movement type.
  • attributes: defaults to max_health: 10.0, movement speed from movement, and follow_range: 16.0.

Render profile defaults:

  • schema_version: defaults to the current schema.
  • version: defaults to an empty string.
  • body_type: generated from preset_type, except for custom.
  • model: defaults to <namespace>:easy_model_entities/models/<render_profile_path>.
  • texture: defaults to <namespace>:textures/entity/<render_profile_path>.png.
  • rendering: generated from the render preset.
  • animation: generated from the render preset.

The default texture path is entity-oriented. For block entities that use textures/block, set texture explicitly.

🎨 Render Profiles

Render profiles live in the resource pack:

assets/<namespace>/easy_model_entities/render_profiles/<id>.json

Important fields:

  • schema_version: optional; current value is 0.1.0.
  • preset_type: render preset for body type, defaults, and automatic animation.
  • body_type: required only for custom; otherwise inferred from the preset.
  • version: optional version string.
  • model: ResourceLocation to the .bbmodel file without the file extension.
  • texture: ResourceLocation to the texture with the file extension.
  • rendering: optional render bounds and shadow settings.
  • animation: optional animation settings.

rendering supports:

  • scale
  • shadow_radius

animation supports:

  • mode
  • swing_speed
  • walk_speed_multiplier

πŸ—‚οΈ Model And Texture Paths

Blockbench models:

assets/<namespace>/easy_model_entities/models/<model>.bbmodel

Textures:

assets/<namespace>/textures/entity/<texture>.png
assets/<namespace>/textures/block/<texture>.png

Example:

{
  "model": "my_pack:easy_model_entities/models/shrine",
  "texture": "my_pack:textures/block/shrine.png"
}

🧱 Block Entity Presets

More context is available in Block Entities.

  • static: static EME host block entity.
  • ticking: WIP for pack-authored behavior; the host type has client and server tick support, but no built-in visible behavior yet.
  • animated: continuously animated EME host block entity.
  • animated_randomly: client-side random idle animation with pauses.

Registered EME host block IDs:

  • easy_model_entities:static_block
  • easy_model_entities:ticking_block
  • easy_model_entities:animated_block
  • easy_model_entities:animated_randomly_block

Registered EME host block entity type IDs:

  • easy_model_entities:static_block_entity
  • easy_model_entities:ticking_block_entity
  • easy_model_entities:animated_block_entity
  • easy_model_entities:animated_randomly_block_entity

🧍 Entity Presets

More context is available in Entities.

Stable presets for pack authors:

  • static
  • statue
  • humanoid_still
  • humanoid_wandering
  • quadruped_still
  • quadruped_wandering

WIP presets:

  • custom: supported by the parser, mainly useful for mod-owned profiles that provide explicit host settings and dimensions.
  • aquatic_still
  • aquatic_swimming: render/body preset exists, dedicated swimming movement is not implemented yet.
  • arthropod_still
  • arthropod_wandering: render/body preset exists, ground movement uses the generic ground_entity host.
  • cuboid_still
  • cuboid_hopping: render/body preset exists, dedicated hopping movement is not implemented yet.
  • floating_still: render/body preset exists, dedicated floating movement is not implemented yet.
  • winged_still
  • winged_wandering: render/body preset exists, dedicated flying movement is not implemented yet.
  • winged_humanoid_still
  • winged_humanoid_wandering: render/body preset exists, dedicated flying movement is not implemented yet.

Registered EME host entity type IDs:

  • easy_model_entities:static_entity
  • easy_model_entities:ground_entity

🧬 Body Types

Current body types:

  • static
  • biped
  • quadruped
  • aquatic
  • winged
  • winged_humanoid
  • arthropod
  • cuboid
  • floating

🚢 Movement And Behavior

Movement types:

  • static
  • ground

Behavior modes:

  • static
  • idle_only
  • ambient
  • external_owner: WIP marker for mod-owned behavior; the current EME host entities do not add special logic for it.

For common pack use, presets usually provide good defaults. Override movement, behavior, or attributes only when the default behavior is not enough.

🎞️ Animation

Render profile example:

{
  "animation": {
    "mode": "random_idle",
    "walk_speed_multiplier": 1.0
  }
}

Modes:

  • automatic: default behavior based on preset and entity state.
  • random_idle: short idle bursts with pauses.
  • none: no built-in automatic animation.

Animation is procedural and driven by mode, swing_speed, and walk_speed_multiplier; there are no named animation clips. For complex, custom animations use the render API and drive them from your own mod. random_idle currently uses 53-tick bursts and waits 200 to 400 ticks before starting another burst.

🎁 Bundled Examples

The current examples use the namespace easy_model_entities_examples.

Useful server profile IDs:

  • easy_model_entities_examples:entity/training_dummy
  • easy_model_entities_examples:entity/little_explorer
  • easy_model_entities_examples:entity/stone_turtle
  • easy_model_entities_examples:block_entity/shrine

Clone this wiki locally