Эффект смерти дракона, звук смерти дракона

Версия Minecraft
1.12.2
7
0
Так, сделал чтобы броня вылетала как тотем при полном сете(Дико костыльно, с помощью totem expansion), но честно, искал 2 часа и так не нашел. Как могу реализовать такую штуку, вот ниже видео, типо предмет вылетает, зависает, начинает раскручиваться, появляется эффект и звук смерти дракона в уменьшенном размере

видео:
 
Решение
Код из 1.16, но возможно на 1.12 тоже самое:
Метод client.gameRenderer.displayItemActivation делает эту анимацию (client = minecraft)
Java:
public void handleEntityStatus(SEntityStatusPacket packetIn) {
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.client);
    Entity entity = packetIn.getEntity(this.world);
    if (entity != null) {
        if (packetIn.getOpCode() == 21) {
            this.client.getSoundHandler().play(new GuardianSound((GuardianEntity)entity));
        } else if (packetIn.getOpCode() == 35) {
            int i = 40;
            this.client.particles.emitParticleAtEntity(entity, ParticleTypes.TOTEM_OF_UNDYING, 30);
            this.world.playSound(entity.getPosX(), entity.getPosY()...
1,560
86
204
Код из 1.16, но возможно на 1.12 тоже самое:
Метод client.gameRenderer.displayItemActivation делает эту анимацию (client = minecraft)
Java:
public void handleEntityStatus(SEntityStatusPacket packetIn) {
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.client);
    Entity entity = packetIn.getEntity(this.world);
    if (entity != null) {
        if (packetIn.getOpCode() == 21) {
            this.client.getSoundHandler().play(new GuardianSound((GuardianEntity)entity));
        } else if (packetIn.getOpCode() == 35) {
            int i = 40;
            this.client.particles.emitParticleAtEntity(entity, ParticleTypes.TOTEM_OF_UNDYING, 30);
            this.world.playSound(entity.getPosX(), entity.getPosY(), entity.getPosZ(), SoundEvents.ITEM_TOTEM_USE, entity.getSoundCategory(), 1.0F, 1.0F, false);
            if (entity == this.client.player) {
                this.client.gameRenderer.displayItemActivation(getTotemItem(this.client.player));
            }
        } else {
            entity.handleStatusUpdate(packetIn.getOpCode());
        }
    }
}
 
Сверху