ModsJava
BDPaste
Place BDEngine models with your crosshair. Animation, sound, labels, API.
⬇ Download on SpigotBDPaste
Build it on bdengine.app. Place it with your crosshair. Animate it.
Get a model in
Paste a share link and BDPaste downloads it:
Or drop a
.bdengine,
.json,
.txt or datapack
.zip into the models folder. All four work.
Place it by hand
A full preview follows your crosshair — only you can see it.
Animation
Every track the editor exports, by the name it has in the editor:
Accuracy: played from a datapack, the deviation over two full runs — 86 parts, 25 ticks — is
0.000000000. Computed from the project file instead, it stays under 0.0008 pixels
against that same datapack, on a model that nests animated groups five levels deep.
Sound
Models that carry a note track play it along with the animation. Timelines made of nothing but
notes work too — RUSH E is 1071 notes and no keyframes at all.
Notes outside what Minecraft can play are moved to a different instrument rather than
retuned, so they ring out at the frequency the composer wrote. On the rat that moves 70 of 212
notes and not one of them shifts in pitch.
Floating names
MiniMessage, so hex colours and gradients work. The name rides the model's head and follows it
in all three directions while it animates.
Clickable
Display entities have no hitbox in vanilla. BDPaste wraps each model in invisible interaction
entities, sized to the model rather than to its animation — a farmer's shell is 15x smaller
than the naive box around everything he reaches.
Right click cycles through his animations with no code at all. Or listen for the event:
Developer API
Place, animate, label and remove models from code:
Four events, and everything a placed model knows. Full docs in the README.
Requirements
Build it on bdengine.app. Place it with your crosshair. Animate it.
Get a model in
Paste a share link and BDPaste downloads it:
Code (Text):
/bdpaste import https://block-display.com/bd/299039 farmer
.zip into the models folder. All four work.
Place it by hand
Code (Text):
/bdpaste place farmer
- Scroll to change a value, Shift+Scroll to pick which one (yaw, pitch, roll, scale, offsets)
- F freezes it so you can walk around and check it from every side
- Q pauses so you can build something to compare, then drops you back in
- Snap to whole blocks, to texture pixels, or to nothing at all
- Step sizes and settings are remembered per player, restart included
Animation
Every track the editor exports, by the name it has in the editor:
Code (Text):
/bdpaste animate labourer
/bdpaste animate talking 0.5
/bdpaste animate open once
/bdpaste animate talking 0.5
/bdpaste animate open once
0.000000000. Computed from the project file instead, it stays under 0.0008 pixels
against that same datapack, on a model that nests animated groups five levels deep.
Sound
Models that carry a note track play it along with the animation. Timelines made of nothing but
notes work too — RUSH E is 1071 notes and no keyframes at all.
Notes outside what Minecraft can play are moved to a different instrument rather than
retuned, so they ring out at the frequency the composer wrote. On the rat that moves 70 of 212
notes and not one of them shifts in pitch.
Floating names
Code (Text):
/bdpaste label <gradient:#ff0000:#00ff00><bold>BOSS</bold></gradient>
in all three directions while it animates.
Clickable
Display entities have no hitbox in vanilla. BDPaste wraps each model in invisible interaction
entities, sized to the model rather than to its animation — a farmer's shell is 15x smaller
than the naive box around everything he reaches.
Right click cycles through his animations with no code at all. Or listen for the event:
Code (Text):
@EventHandler
public void onClick(BdModelClickEvent event) {
if (!event.getModel().source().equals("shop")) return;
event.setCancelled(true);
openShop(event.getPlayer());
}
public void onClick(BdModelClickEvent event) {
if (!event.getModel().source().equals("shop")) return;
event.setCancelled(true);
openShop(event.getPlayer());
}
Place, animate, label and remove models from code:
Code (Text):
bdpaste.place("farmer", spot,
model -> bdpaste.play(model, "labourer", 1.0, true, ok -> {}),
reason -> sender.sendMessage(reason));
model -> bdpaste.play(model, "labourer", 1.0, true, ok -> {}),
reason -> sender.sendMessage(reason));
Requirements
- Paper 1.21.11 or newer
- Java 21
BDPaste is a free Minecraft Java mod. Compatible with Minecraft 26.2. Downloaded 5 times (via Spigot). Download it and open it directly in the game.