下面列出了怎么用net.minecraftforge.common.model.IModelPart的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
{
if(part.isPresent())
{
// This whole thing is subject to change, but should do for now.
UnmodifiableIterator<String> parts = Models.getParts(part.get());
if(parts.hasNext())
{
String name = parts.next();
// only interested in the root level
if(!parts.hasNext() && hidden.contains(name))
{
return value;
}
}
}
return Optional.absent();
}
@Override
public IBakedModel load(final Map<String, Float> key) throws Exception {
final IModelState clipTransform = part -> {
if (!part.isPresent()) return Optional.empty();
final IModelPart maybeJoint = part.get();
if (!(maybeJoint instanceof IJoint)) return Optional.empty();
final IJoint joint = (IJoint)part.get();
return Optional.of(evaluator.evaluate(joint, key));
};
return bakeModelWithTransform(clipTransform);
}
@Override
public Optional<TRSRTransformation> apply(
Optional<? extends IModelPart> part) {
return Optional.empty();
}