FreeMinecraftModels API and Developer Guide
FreeMinecraftModels is both a standalone plugin and an API surface for other plugins.
Maven Repository
<repository>
<id>magmaguy-repo-releases</id>
<name>MagmaGuy's Repository</name>
<url>https://repo.magmaguy.com/releases</url>
</repository>
Dependency
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>FreeMinecraftModels</artifactId>
<version>LATEST.VERSION.HERE</version>
<scope>provided</scope>
</dependency>
Use it as compileOnly/provided. Do not shade the plugin into your own jar.
Core Entry Points
ModeledEntityManager.modelExists(String)ModeledEntityManager.reload()ModeledEntityManager.getAllEntities()ModeledEntityManager.getDynamicEntities()ModeledEntityManager.propEntities()
Core Runtime Types
ModeledEntityStaticEntityDynamicEntityPropEntity
Creating Entities
StaticEntity preview = StaticEntity.create("example_model", location);
DynamicEntity mobModel = DynamicEntity.create("example_model", livingEntity);
PropEntity prop = PropEntity.spawnPropEntity("example_model", location);
All three creation paths return null if the requested model ID is not loaded.
Useful Runtime Methods
ModeledEntity#setDisplayName(String)ModeledEntity#setDisplayNameVisible(boolean)ModeledEntity#setLeftClickCallback(...)ModeledEntity#setRightClickCallback(...)ModeledEntity#setHitboxContactCallback(...)ModeledEntity#setModeledEntityHitByProjectileCallback(...)ModeledEntity#playAnimation(String, boolean, boolean)ModeledEntity#stopCurrentAnimations()ModeledEntity#hasAnimation(String)DynamicEntity#setSyncMovement(boolean)Bone#getBoneLocation()
Event Surface
Generic interaction events:
ModeledEntityLeftClickEventModeledEntityRightClickEventModeledEntityHitboxContactEventModeledEntityHitByProjectileEvent
Typed variants also exist for StaticEntity, DynamicEntity, and PropEntity.
Notes
- FreeMinecraftModels is an installed-plugin dependency, not an embeddable library.
- If your plugin needs freshly imported models, call
ModeledEntityManager.reload()instead of trying to rebuild FreeMinecraftModels state yourself.