com.shinoow.abyssalcraft.api.render.Block3DRender.java Source code

Java tutorial

Introduction

Here is the source code for com.shinoow.abyssalcraft.api.render.Block3DRender.java

Source

/**
 * AbyssalCraft
 * Copyright 2012-2015 Shinoow
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.shinoow.abyssalcraft.api.render;

import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;

import org.lwjgl.opengl.GL11;

public class Block3DRender implements IItemRenderer {

    TileEntitySpecialRenderer render;
    private TileEntity tile;

    /**
     * Used to render blocks with special models while holding them
     * @param render The TESR for the block
     * @param tile TE for the block
     */
    public Block3DRender(TileEntitySpecialRenderer render, TileEntity tile) {
        this.render = render;
        this.tile = tile;
    }

    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
        return true;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
        return true;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
        if (type == IItemRenderer.ItemRenderType.ENTITY)
            GL11.glTranslatef(-0.5F, 0.0F, -0.5F);
        render.renderTileEntityAt(tile, 0.0D, 0.0D, 0.0D, 0.0F);
    }
}