java类net.minecraft.client.renderer.block.model.IBakedModel的实例源码

MultiModel.java 文件源码 项目:CustomWorldGen 阅读 18 收藏 0 点赞 0 评论 0
@Override
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType cameraTransformType)
{
    if(transforms.isEmpty()) return Pair.of(this, null);
    Pair<Baked, TRSRTransformation> p = transforms.get(cameraTransformType);
    return Pair.of(p.getLeft(), p.getRight().getMatrix());
}
DankNullPanelRenderer.java 文件源码 项目:DankNull 阅读 20 收藏 0 点赞 0 评论 0
private IBakedModel getModel(@Nonnull ItemStack stack) {
    String key = getKey(stack);
    int meta = stack.getMetadata();
    if (!modelCache.containsKey(key)) {
        if (DankTextures.DANKNULL_PANELS == null) {
            DankTextures.getInstance().registerIcons(RenderUtils.getBlocksTextureMap());
        }
        List<BakedQuad> quads = ItemQuadBakery.bakeItem(DankTextures.DANKNULL_PANELS[meta]);
        modelCache.put(key, new PerspectiveAwareBakedModel(quads, props));
    }
    return modelCache.get(key);
}
GLHelper.java 文件源码 项目:ArcaneMagic 阅读 26 收藏 0 点赞 0 评论 0
public static void renderItemWithTransform(World world, ItemStack stack,
        ItemCameraTransforms.TransformType transform)
{
    GlStateManager.pushMatrix();
    GlStateManager.pushAttrib();
    GlStateManager.enableCull();
    GlStateManager.depthMask(true);
    RenderHelper.enableStandardItemLighting();
    GlStateManager.enableAlpha();
    GlStateManager.enableRescaleNormal();
    GlStateManager.alphaFunc(516, 0.1F);
    GlStateManager.enableBlend();
    GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
            GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE,
            GlStateManager.DestFactor.ZERO);

    IBakedModel ibakedmodel = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(stack, world,
            (EntityLivingBase) null);
    IBakedModel transformedModel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ibakedmodel,
            transform, false);
    Minecraft.getMinecraft().getRenderItem().renderItem(stack, transformedModel);

    GlStateManager.disableBlend();
    GlStateManager.disableAlpha();
    RenderHelper.disableStandardItemLighting();
    GlStateManager.depthMask(false);
    GlStateManager.disableCull();
    GlStateManager.popAttrib();
    GlStateManager.popMatrix();
}
StandardModels.java 文件源码 项目:PurificatiMagicae 阅读 19 收藏 0 点赞 0 评论 0
@Override
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType)
{
    if (cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND || cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_RIGHT_HAND)
    {
        return Pair.of(this, mat_fp);
    }
    if (cameraTransformType == ItemCameraTransforms.TransformType.GUI)
    {
        return Pair.of(this, mat_gui);
    }
    return Pair.of(this, null);
}
StandardModels.java 文件源码 项目:PurificatiMagicae 阅读 16 收藏 0 点赞 0 评论 0
@Override
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType)
{
    if (cameraTransformType == ItemCameraTransforms.TransformType.GUI)
        return Pair.of(this, mat_gui);
    return Pair.of(this, mat);
}
StandardModels.java 文件源码 项目:PurificatiMagicae 阅读 18 收藏 0 点赞 0 评论 0
@Override
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType)
{
    if(cameraTransformType == ItemCameraTransforms.TransformType.GUI)
        return Pair.of(this, mat_gui);
    return Pair.of(this, mat);
}
StandardModels.java 文件源码 项目:PurificatiMagicae 阅读 17 收藏 0 点赞 0 评论 0
@Override
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType)
{
    if(cameraTransformType == ItemCameraTransforms.TransformType.GUI)
        return Pair.of(this, mat_gui);
    return Pair.of(this, mat);
}
ModelLoader.java 文件源码 项目:CustomWorldGen 阅读 23 收藏 0 点赞 0 评论 0
@Override
public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
{
    MultipartBakedModel.Builder builder = new MultipartBakedModel.Builder();

    for (Selector selector : multipart.getSelectors())
    {
        builder.putModel(selector.getPredicate(multipart.getStateContainer()), partModels.get(selector).bake(partModels.get(selector).getDefaultState(), format, bakedTextureGetter));
    }

    IBakedModel bakedModel = builder.makeMultipartModel();
    return bakedModel;
}
RenderEntityItem.java 文件源码 项目:CustomWorldGen 阅读 22 收藏 0 点赞 0 评论 0
private int transformModelCount(EntityItem itemIn, double p_177077_2_, double p_177077_4_, double p_177077_6_, float p_177077_8_, IBakedModel p_177077_9_)
{
    ItemStack itemstack = itemIn.getEntityItem();
    Item item = itemstack.getItem();

    if (item == null)
    {
        return 0;
    }
    else
    {
        boolean flag = p_177077_9_.isGui3d();
        int i = this.getModelCount(itemstack);
        float f = 0.25F;
        float f1 = shouldBob() ? MathHelper.sin(((float)itemIn.getAge() + p_177077_8_) / 10.0F + itemIn.hoverStart) * 0.1F + 0.1F : 0;
        float f2 = p_177077_9_.getItemCameraTransforms().getTransform(ItemCameraTransforms.TransformType.GROUND).scale.y;
        GlStateManager.translate((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F * f2, (float)p_177077_6_);

        if (flag || this.renderManager.options != null)
        {
            float f3 = (((float)itemIn.getAge() + p_177077_8_) / 20.0F + itemIn.hoverStart) * (180F / (float)Math.PI);
            GlStateManager.rotate(f3, 0.0F, 1.0F, 0.0F);
        }

        GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
        return i;
    }
}
BakedQuantumMirror.java 文件源码 项目:Solar 阅读 20 收藏 0 点赞 0 评论 0
@Override
public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity) {
    Optional<UUID> optional = ((IQuantumStack) stack.getItem()).getKey(stack);
    if(optional.isPresent()) {
        ItemStack mirrored = QuantumHandler.getEntanglementStack(optional.get(), 0);
        if(!mirrored.isEmpty()) {
            SpecialModelRenderer.setTempItemRenderer(mirrored);
        }
    }
    return originalModel;
}


问题


面经


文章

微信
公众号

扫码关注公众号