Guide API et developpement de FreeMinecraftModels
FreeMinecraftModels est a la fois un plugin autonome et une surface d'API pour d'autres plugins.
Depot Maven
<repository>
<id>magmaguy-repo-releases</id>
<name>MagmaGuy's Repository</name>
<url>https://repo.magmaguy.com/releases</url>
</repository>
Dependance
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>FreeMinecraftModels</artifactId>
<version>LATEST.VERSION.HERE</version>
<scope>provided</scope>
</dependency>
Utilisez-le comme compileOnly/provided. N'incluez pas le plugin dans votre propre jar.
Points d'entree principaux
ModeledEntityManager.modelExists(String)ModeledEntityManager.reload()ModeledEntityManager.getAllEntities()ModeledEntityManager.getDynamicEntities()ModeledEntityManager.propEntities()
Types d'execution principaux
ModeledEntityStaticEntityDynamicEntityPropEntity
Creer des entites
StaticEntity preview = StaticEntity.create("example_model", location);
DynamicEntity mobModel = DynamicEntity.create("example_model", livingEntity);
PropEntity prop = PropEntity.spawnPropEntity("example_model", location);
Les trois chemins de creation renvoient null si l'ID de modele demandee n'est pas chargee.
Methodes utiles a l'execution
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()
Surface d'evenements
Evenements d'interaction generiques :
ModeledEntityLeftClickEventModeledEntityRightClickEventModeledEntityHitboxContactEventModeledEntityHitByProjectileEvent
Des variantes typees existent aussi pour StaticEntity, DynamicEntity et PropEntity.
Notes
- FreeMinecraftModels est une dependance de plugin installe, pas une bibliotheque integrable.
- Si votre plugin a besoin de modeles fraichement importes, appelez
ModeledEntityManager.reload()au lieu d'essayer de reconstruire vous-meme l'etat de FreeMinecraftModels.