@Override public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) { if(stack.hasCapability(net.minecraftforge.common.model.animation.CapabilityAnimation.ANIMATION_CAPABILITY, null)) { // TODO: caching? IAnimationStateMachine asm = stack.getCapability(CapabilityAnimation.ANIMATION_CAPABILITY, null); if(world == null) { world = entity.worldObj; } if(world == null) { world = Minecraft.getMinecraft().theWorld; } IModelState state = asm.apply(Animation.getWorldTime(world, Animation.getPartialTickTime())).getLeft(); return model.bake(new ModelStateComposition(state, this.state), format, bakedTextureGetter); } return super.handleItemState(originalModel, stack, world, entity); }
public static IAnimationStateMachine loadASM(ResourceLocation location, ImmutableMap<String, ITimeValue> customParameters) { return AnimationStateMachine.load(manager, location, customParameters); }
@Override public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) { return ModelLoaderRegistry.loadASM(location, parameters); }
@Override public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) { return null; }
public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters);