FreeMinecraftModels API と開発者ガイド
FreeMinecraftModels は、単体で使えるプラグインであると同時に、他のプラグイン向けの API 面も提供しています。
Maven リポジトリ
<repository>
<id>magmaguy-repo-releases</id>
<name>MagmaGuy's Repository</name>
<url>https://repo.magmaguy.com/releases</url>
</repository>
依存関係
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>FreeMinecraftModels</artifactId>
<version>LATEST.VERSION.HERE</version>
<scope>provided</scope>
</dependency>
compileOnly / provided として使用してください。プラグインを自分の jar に同梱してはいけません。
主なエントリポイント
ModeledEntityManager.modelExists(String)ModeledEntityManager.reload()ModeledEntityManager.getAllEntities()ModeledEntityManager.getDynamicEntities()ModeledEntityManager.propEntities()
主なランタイム型
ModeledEntityStaticEntityDynamicEntityPropEntity
エンティティの作成
StaticEntity preview = StaticEntity.create("example_model", location);
DynamicEntity mobModel = DynamicEntity.create("example_model", livingEntity);
PropEntity prop = PropEntity.spawnPropEntity("example_model", location);
要求したモデル ID が読み込まれていない場合、これら 3 つの作成経路はすべて null を返します。
便利なランタイムメソッド
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()
イベント面
汎用インタラクションイベント:
ModeledEntityLeftClickEventModeledEntityRightClickEventModeledEntityHitboxContactEventModeledEntityHitByProjectileEvent
StaticEntity、DynamicEntity、PropEntity 用の型付きバリアントも用意されています。
注意事項
- FreeMinecraftModels は、埋め込み用ライブラリではなく、インストール済みプラグインへの依存関係です。
- プラグインで新しくインポートされたモデルが必要な場合は、FreeMinecraftModels の状態を自前で組み直そうとせず、
ModeledEntityManager.reload()を呼び出してください。