-
Notifications
You must be signed in to change notification settings - Fork 7
Blockbench models
BBS supports loading Blockbench models by exporting them with a custom plugin.
The format that the custom plugin exports supports decent chunk of Blockbench's features. Following known features that are not supported: extra animation options (including different loop modes, anim time update, blend weight, etc.), texture meshes, locators and null objects, and multiple textures per model (use Texture Stitcher plugin to combine multiple textures into one).
Following features are known to be supported:
- Cubes with support for Box or per-face UV modes
- Meshes
- Groups, their rotation and pivots
- Animations, including linear, step and smooth interpolations, and math expressions (without shorthand, i.e.
v.query_time
)
In Blockbench, go to File > Plugins > Available
, search for BBS
and there will be BBS model exporter
plugin. Install it.
Once the plugin is installed, you can export your model via File > Export > Export BBS model
:
- Press Confirm button.
- Go to BBS' game folder, which you can open by pressing Escape and then Numpad 0 (or click the most top icon in the left sidebar).
- Press App in the left sidebar.
- Press Open game folder....
- Go to
assets/models/
(create these folders if they don't exist) within popped up file browser winodw. - Create a folder with any name (the folder's name will be model's ID).
- Save the file exactly as
model.bbs.json
. - In Blockbench, export the texture as well to the same folder exactly as
model.png
.
After that, the model should appear next time you open one of the form picker menus.
Following variables can be used within Blockbench's animations:
Name | Description |
---|---|
query.anim_time |
Current animation progress in ticks. |
query.head_yaw |
Horizontal rotation of entity's head. |
query.head_pitch |
Vertical rotation of entity's head. |
query.velocity |
Velocity of the entity in block units. |
query.ground_speed |
Velocity of the entity in block units (only horizontal, i.e. X and Z). |
query.yaw_speed |
Entity's horizontal rotation speed. |
query.age |
Current age of the entity in ticks, i.e. for how many ticks did this entity exist. |
joystick.l_x |
Left stick's X position. -1 is fully left, 0 is in the middle, 1 is fully right. |
joystick.l_y |
Left stick's Y position. -1 is fully up, 0 is in the middle, 1 is fully down. |
joystick.r_x |
Right stick's X position. -1 is fully left, 0 is in the middle, 1 is fully right. |
joystick.r_y |
Right stick's Y position. -1 is fully up, 0 is in the middle, 1 is fully down. |
joystick.l_trigger |
Left trigger's held state. -1 is fully released, 1 is fully pressed. |
joystick.r_trigger |
Right trigger's held state. -1 is fully released, 1 is fully pressed. |
extra1.x |
Horizontal axis of the first extra mouse controlled animation group. |
extra1.y |
Vertical axis of the first extra mouse controlled animation group. |
extra2.x |
Horizontal axis of the second extra mouse controlled animation group. |
extra2.y |
Vertical axis of the second extra mouse controlled animation group. |
Joystick variables were only tested on Xbox game controller. Values may differ on other game controllers. You can test out the values by pressing F3 and seeing how values change when you move around sticks and triggers.