DG Dlib Transform

Published by DG_Dragon on
Supported MCreator versions
2024.1
2024.2
2024.3
2024.4
2025.1
2025.2
Tags / plugin type
API support
Procedures
DG Dlib Transform
Downloads:
69
Upvotes: 4
About the plugin

This plugin aims to integrate a private lib called Dlib, developed to allow the player to transform into entities, perform registered animations, and be compatible with the modded entity, geckolib, and mcreator's own animation system.


If you have any questions, join my server (Come in here)


Why use my plugin?

Dlib was developed by my team as a private lib, without adding commands, so only modders with the plugin could use it.

Unlike public mods that provide commands and an interface for easy manipulation, Dlib adds nothing beyond direct manipulation during mod development, with simple calls, fully adapted to blocklys and composite implementation, without generating dependencies.

Currently, it supports geckolib, but exclusively for Java Entity and its animation system.


Usage rights:

This is a demo version, with initial support for Dlib version 1.0.

It also adds some Blocklys:



For now, only 1.20.1 is supported.


How does the plugin work?

DG Dlib Transform has an API application. When enabled, it creates a folder called jarjar, which initially contains the "dlib_integrated" file, which is responsible for integrating the lib.

Set to true or false;

If true, implementation occurs directly in the main mod, without generating dependencies, adding to the basic implementation of a composite mod.

If false, implementation will be via dependency, requiring the lib's .jar file.

It also generates a file required for implementation called "metadata." Only edit it if you know what you're doing.

When exporting, the same "metadata" file will be copied to its proper location.


Animation playback by blockly:

  • This feature is only available for the Java entity, using the modified generator that is also available for download.
     
  • Geckolib: Requires manual application; I'm not sure if it will work for Geckolib.

Current Changelog

  • Coming soon 2.0 as a Premium Version ---> ability to change the player's weapon based on transformation, render items in third person, modelPart manipulation, both for transformation and for entities in the world.

     

v1.1

  1. Added, modified generator for 2025.1
  2. dg_dlib_play_animation is empty (corrected)

v1.0

  1. start of plugin.

If you have any questions regarding the plugin, please contact me on discord DG_dragon or gp_dragon

 

If you want to support my work click here ---> 👉Offer a gem!!

License
All Rights Reserved

Plugin downloads
Modified Generator 1.20.1 (2025.1 only) - generator-minecraft-forge-1.20.1-2025.1-Dlib_moding.zip Uploaded on: 07/13/2025 - 02:23   File size: 617.95 KB
DG Dlib Transform V1.1 (Fix) - DG Dlib Transform V1.1.zip Uploaded on: 07/13/2025 - 02:30   File size: 10.76 KB

Comments

I'm using a GeckoLib Entity to transform, but when I use the procedure:

"Play animation on the transformed player (Enter animation name), in Loop mode"

an error appears that I can't resolve:

The Entity Input in the dg_dlib_play_animation block is empty.

How do I solve this? I thank you in advance for your attention and your plugin is being essential for my project <3

I understand, thanks for the reply; but I saw that the example model you sent is the same one used in 2025.X without geckolib. It doesn't work for 2024.1 (which I'm using), unfortunately... But even so, your plugin is still useful to me, thank you.

I hope to see many interesting updates for your plugin in the future. Thank you for your attention and work <3

Hey there! this looks really cool and awesome, and i would love to know more about it! however, because i am dumb, i do not know how to morph properly. Lets say i want to morph a player into a stray. How would i go about doing that?

Dlib uses existing or created entities, so first of all, create your entity, activate the Api, and in the procedure always put first, the "start Dlib" it references the player, then the next ones will always use the reference of the "Start Dlib" take the next one that is to transform, put the id of your entity and the id of your mod, as follows the example in the image in the plugin description.

Hey, I have the issue that I am starting the world morphed as a pig and I can't change that so far. I have set up a keybind that should morph the player into a custom model but that doesn't work either.
any idea on what I should try? thanks!

why did i get an error:input entity on block dg_dlib_play_animation is empty.How can i fix this ,i just dont understand

public class MyCustomEntity implements DEntity {
// Animation states
public final AnimationState animationIdle = new AnimationState();
public final AnimationState animationRun = new AnimationState();
public final AnimationState animationAttack = new AnimationState();
public final AnimationState animationDeath = new AnimationState();
private final DlAnimation animations = new DlAnimation();

public MyCustomEntity(PlayMessages.SpawnEntity packet, Level world) {
this(Entities.MYCUSTOMENTITY.get(), world);
registerAnimations(); // Called during construction
}

@Override
public DlAnimation getAnimation() {
return animations;
}

@Override
public void registerAnimations() {
getAnimation().addAnimation("idle", new DlAnimation.DlAnimationInfo(IdleAnim.lengthInSeconds(), animationIdle));
getAnimation().addAnimation("run", new DlAnimation.DlAnimationInfo(RunAnim.lengthInSeconds(), animationRun));
getAnimation().addAnimation("attack", new DlAnimation.DlAnimationInfo(AtkAnim.lengthInSeconds(), animationAttack));
getAnimation().addAnimation("death", new DlAnimation.DlAnimationInfo(DeathAnim.lengthInSeconds(), animationDeath));
}

@Override
public void syncAnimations() {
animationIdle.animateWhen(!isMoving());
animationRun.animateWhen(isMoving());
animationAttack.animateWhen(isAttacking());
animationDeath.animateWhen(isDeadOrDying());
}
}