Make vanilla Minecraft displays move.

A Java library for Paper plugins. Animate item, block and text displays with packets.

implementation("com.github.Jan1k1.displaymotion:displaymotion-paper:v0.2.0")

This is vanilla Minecraft. No texture pack. No mods. Nothing to install for players.

A few Minecraft blocks with a floating diamond sword that spins and bobs above them

Three steps

  1. Add the library

    From JitPack. Add depend: [packetevents] to plugin.yml.

    repositories {
        maven("https://jitpack.io")
    }
    
    dependencies {
        implementation("com.github.Jan1k1.displaymotion:displaymotion-paper:v0.2.0")
    }
  2. Spawn a display

    Item, block, text, or a whole model.

    // once, in onEnable
    DisplayMotion motion = DisplayMotion.create(plugin);
    
    MotionDisplay sword = motion.item(location,
            ItemStack.of(Material.DIAMOND_SWORD));
  3. Play an animation

    Presets or your own keyframes.

    static final Animation SHOW = Animations.popIn(20)
            .then(Animations.spin(80).with(Animations.bob(0.3f, 80)));
    
    sword.play(SHOW);
    // later: shrink, then remove
    sword.play(Animations.popOut(10), sword::remove);

Full setup · Cookbook

Example models

Drag to turn them.

All models

In game

Made for AI coding tools

Claude, Cursor, Copilot and other agents can read every page.

Paste this into your AI tool Claude · Cursor · Copilot · Codex

Use the displaymotion library for my Paper plugin. Read https://displaymotion.peakstone.app/llms-full.txt first and follow its rules. Task: what you want to build

Works with any agent that can open a link.

Sending a pull request made with AI?

That is welcome. Write the model at the bottom of the PR, for example Made with Claude Opus 5.5. More in CONTRIBUTING.md.

Free and open source.

Use it, change it, even rename it. Just keep the license file, it says the code is by jan1k. A mention of displaymotion on your plugin page helps a lot.

Paper 26.3 · Java 25 · PacketEvents 2.14+ · details