ModelPlayerCustomized.java 文件源码

java
阅读 29 收藏 0 点赞 0 评论 0

项目:InfinityLib 作者:
public static void replaceOldModel() {
    RenderPlayer renderer = getOldRenderer("default");
    if(renderer == null) {
        InfinityLib.instance.getLogger().debug("Failed overriding left arm swing behaviour");
        return;
    }
    ModelPlayer oldModel = renderer.getMainModel();
    ModelPlayer newModel = null;
    for(Field field : RenderLivingBase.class.getDeclaredFields()) {
        if(field.getType() == ModelBase.class) {
            try {
                field.setAccessible(true);
                Object obj = field.get(renderer);
                if (obj == oldModel) {
                    newModel = MODEL_MAIN;
                    field.set(renderer, newModel);
                    break;
                }
            } catch (Exception e) {
                InfinityLib.instance.getLogger().printStackTrace(e);
            }
        }
    }
    if(newModel != null) {
        //replace relevant fields in RenderPlayer
        replaceEntriesInRenderPlayer(renderer, newModel);
        replaceEntriesInRenderPlayer(getOldRenderer("slim"), MODEL_SLIM);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号