FreeMinecraftModels API- und Entwicklerleitfaden
FreeMinecraftModels ist sowohl ein eigenstaendiges Plugin als auch eine API-Oberflaeche fuer andere Plugins.
Maven-Repository
<repository>
<id>magmaguy-repo-releases</id>
<name>MagmaGuy's Repository</name>
<url>https://repo.magmaguy.com/releases</url>
</repository>
Abhaengigkeit
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>FreeMinecraftModels</artifactId>
<version>LATEST.VERSION.HERE</version>
<scope>provided</scope>
</dependency>
Verwende es als compileOnly/provided. Bette das Plugin nicht in dein eigenes Jar ein.
Zentrale Einstiegspunkte
ModeledEntityManager.modelExists(String)ModeledEntityManager.reload()ModeledEntityManager.getAllEntities()ModeledEntityManager.getDynamicEntities()ModeledEntityManager.propEntities()
Zentrale Laufzeittypen
ModeledEntityStaticEntityDynamicEntityPropEntity
Entitaeten erstellen
StaticEntity preview = StaticEntity.create("example_model", location);
DynamicEntity mobModel = DynamicEntity.create("example_model", livingEntity);
PropEntity prop = PropEntity.spawnPropEntity("example_model", location);
Alle drei Erstellungswege geben null zurueck, wenn die angeforderte Modell-ID nicht geladen ist.
Nuetzliche Laufzeitmethoden
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-Oberflaeche
Allgemeine Interaktions-Events:
ModeledEntityLeftClickEventModeledEntityRightClickEventModeledEntityHitboxContactEventModeledEntityHitByProjectileEvent
Typisierte Varianten existieren ebenfalls fuer StaticEntity, DynamicEntity und PropEntity.
Hinweise
- FreeMinecraftModels ist eine installierte Plugin-Abhaengigkeit und keine einbettbare Bibliothek.
- Wenn dein Plugin frisch importierte Modelle braucht, rufe
ModeledEntityManager.reload()auf, anstatt den FreeMinecraftModels-Status selbst neu aufzubauen.