类net.minecraftforge.common.animation.ITimeValue源码实例Demo

下面列出了怎么用net.minecraftforge.common.animation.ITimeValue的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Load a new instance of HarvesterAnimationStateMachine at specified location,
 * with specified custom parameters.
 */
@SideOnly(Side.CLIENT)
public static HarvesterAnimationStateMachine load(IResourceManager manager, ResourceLocation location,
        ImmutableMap<String, ITimeValue> customParameters) {
    try (IResource resource = manager.getResource(location)) {
        ClipResolver clipResolver = new ClipResolver();
        ParameterResolver parameterResolver = new ParameterResolver(customParameters);
        Clips.CommonClipTypeAdapterFactory.INSTANCE.setClipResolver(clipResolver);
        TimeValues.CommonTimeValueTypeAdapterFactory.INSTANCE.setValueResolver(parameterResolver);
        HarvesterAnimationStateMachine asm = asmGson.fromJson(
                new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8),
                HarvesterAnimationStateMachine.class);
        clipResolver.asm = asm;
        parameterResolver.asm = asm;
        asm.initialize();

        return asm;
    } catch (IOException | JsonParseException e) {
        FMLLog.log.error("Exception loading Animation State Machine {}, skipping", location, e);
        return missing;
    } finally {
        Clips.CommonClipTypeAdapterFactory.INSTANCE.setClipResolver(null);
        TimeValues.CommonTimeValueTypeAdapterFactory.INSTANCE.setValueResolver(null);
    }
}
 
@Deprecated
public HarvesterAnimationStateMachine(ImmutableMap<String, ITimeValue> parameters,
        ImmutableMap<String, IClip> clips, ImmutableList<String> states, ImmutableMap<String, String> transitions,
        String startState) {
    this(parameters, clips, states, ImmutableMultimap.copyOf(
            Multimaps.newSetMultimap(Maps.transformValues(transitions, ImmutableSet::of), Sets::newHashSet)),
            startState);
}
 
public HarvesterAnimationStateMachine(ImmutableMap<String, ITimeValue> parameters,
        ImmutableMap<String, IClip> clips, ImmutableList<String> states,
        ImmutableMultimap<String, String> transitions, String startState) {
    this.parameters = parameters;
    this.clips = clips;
    this.states = states;
    this.transitions = transitions;
    this.startState = startState;
}
 
@Override
public ITimeValue apply(String name) {
    if (asm.parameters.containsKey(name)) {
        return asm.parameters.get(name);
    }
    return customParameters.get(name);
}
 
源代码5 项目: EmergingTechnology   文件: AnimationHelper.java
@SideOnly(Side.CLIENT)
public static HarvesterAnimationStateMachine loadHarvesterASM(ResourceLocation location, ImmutableMap<String, ITimeValue> customParameters) {
    IResourceManager manager = Minecraft.getMinecraft().getResourceManager();
    return HarvesterAnimationStateMachine.load(manager, location, customParameters);
}
 
public ParameterResolver(ImmutableMap<String, ITimeValue> customParameters) {
    this.customParameters = customParameters;
}
 
源代码7 项目: YouTubeModdingTutorial   文件: ClientProxy.java
@Override
public IAnimationStateMachine load(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) {
    return ModelLoaderRegistry.loadASM(location, parameters);
}
 
源代码8 项目: YouTubeModdingTutorial   文件: CommonProxy.java
@Nullable
public IAnimationStateMachine load(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) {
    return null;
}
 
源代码9 项目: OpenModsLib   文件: OpenClientProxy.java
@Override
public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) {
	return ModelLoaderRegistry.loadASM(location, parameters);
}
 
源代码10 项目: OpenModsLib   文件: OpenServerProxy.java
@Override
public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters) {
	return null;
}
 
源代码11 项目: OpenModsLib   文件: IOpenModsProxy.java
public IAnimationStateMachine loadAsm(ResourceLocation location, ImmutableMap<String, ITimeValue> parameters); 
 类方法
 同包方法