Export support and limitations
Check which BDEngine features appear in Server API exports, the publication size limit, and the resources and runtime behavior your integration must provide.
Server API delivers data prepared by the editor’s server exporter. A feature being available in BDEngine does not mean its complete in-game behavior is included in this JSON. The following describes the current exporter.
What is included
| Feature | Data location | Conditions |
|---|---|---|
| Blocks, items, and text as displays | passengers |
Exportable visual parts of the scene |
| Visual transforms and properties | SNBT in passengers |
Depend on the object and target Minecraft version |
| Display animation, including supported property changes | datapack.anim_keyframes |
Export from Animator |
| Sound events | datapack.sound_keyframes |
Full export with nonempty sound sequences |
| Initial hitboxes | hitbox |
Full export containing hitboxes |
| Hitbox animation | datapack.anim_keyframes |
Corresponding keyframes exist |
| Sequence durations and time steps | meta.animations, meta.sounds |
Metadata for the corresponding frame sets |
| Minecraft version and export mode | version, type |
Added by the exporter |
type: "full" identifies a mode that can include additional data. It does not guarantee that the scene contains animations, sounds, or hitboxes.
Exclusions and publication size
Real structures. Server export does not support real structure blocks. If the project contains a structure to export, the editor suggests using a data pack.
Separate group origins. Exporting a model split into parts with separate origins is not supported by this method. Use a data pack for that mode.
Custom .mcfunction files. Custom function files and their registration in load/tick are not included in server JSON. However, a timeline command’s text may appear in frames. If it calls a custom function, the presence of the command does not mean the function body has also been provided.
Editor helper objects. Built-in bde:oak_boat and bde:player_model objects have no corresponding block_display representation and are rejected by the exporter. Minecraft resources referenced by displays must exist in the target environment.
Publication size. Before uploading, the editor compresses the JSON with gzip and encodes it as Base64. Publication checks a limit of 1,048,576 bytes (1 MiB) for that packed string. This is not a limit on the decoded GET response or the size of a .bdengine file. If the limit is exceeded, reduce the scene or event data and export again.
Before packing the data, the editor also checks transforms, keyframe times, head texture readiness, and the allowed processing workload. These failures occur in the editor before successful publication; they are not HTTP errors from retrieving an export.
Cameras, particles, and additional channels
Some features provide commands or resources without all the helper functions included in a data pack:
| Feature | What is provided | What to consider |
|---|---|---|
| Camera animation | Camera movement and parameter commands in frames | Camera helper creation, player attachment, and ending camera mode are not provided as a complete mechanism |
| Timeline commands | Command strings in the corresponding frames | Your integration determines the executor, permissions, and external resources |
| Time of day | time set commands when time animation is enabled |
This changes world state, not a property of an individual display |
| Timeline particle events | particle commands in frames |
Initial static particle functions from the data pack are not included |
| Probabilistic particle group emission | Commands referencing conditions and datapack.predicates.particle_chance |
Predicates are data; the API does not register them in Minecraft |
| Interaction areas and seats | Creation logic and handlers are not included | A hitbox does not replace these features |
Use the actual response fields and account for command execution context. In the plugin method, fullProject: true switches to Animator before exporting. A value of false keeps the current mode, so an already open Animator can also produce type: "full". Check the result’s type field. This does not promise a complete data pack in JSON. Local JSON uses the same server exporter and shares these content limitations.
Choose the appropriate format
Use Server API or local JSON when you need export data for your own integration. If you need game function files and runtime behavior prepared by the editor, check the data pack features in Export compatibility and differences.
A .bdengine project is intended for continued editing. Minecraft Live Link connects the editor to a world while you work and is a separate interaction method.
Put it into practice
Retrieve project data and JSON exports from an editor plugin.