// Example 1: Dummy with profile
PlatformLocation spawnLoc = world.getSpawnLocation();
ModelProfile profile = ModelProfile.of(customSkin);
RenderSource.Dummy dummy = RenderSource.of(spawnLoc, profile.asUncompleted());
dummy.completeContext().thenAccept(context -> {
ModelRenderer renderer = blueprint.renderer();
DummyTracker tracker = renderer.create(spawnLoc, profile);
System.out.println("Dummy created with custom skin");
});
// Example 2: Entity tracking
BaseEntity npc = BaseEntity.of(platformNPC);
RenderSource.Entity entitySource = RenderSource.of(npc);
EntityTracker tracker = entitySource.getOrCreate(
"npc_model",
() -> {
RenderPipeline pipeline = new RenderPipeline(
renderer,
entitySource,
bones
);
return pipeline;
},
TrackerModifier.builder().autoPlay(true).build(),
t -> {
// Update logic
if (npc.isDead()) {
t.stop();
}
}
);
// Example 3: Player with custom skin
BasePlayer player = (BasePlayer) BaseEntity.of(playerEntity);
ModelProfile.Uncompleted customSkin = getCustomSkin(player);
RenderSource.Entity playerSource = RenderSource.of(player, customSkin);
if (playerSource instanceof Profiled profiled) {
PlayerArmor armor = profiled.armors();
PlayerSkinParts parts = profiled.skinParts();
// Create tracker with player data
EntityTracker playerTracker = renderer.create(player, customSkin);
}