类net.minecraft.util.EnumBlockRenderType源码实例Demo

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

源代码1 项目: OpenModsLib   文件: EntityBlockRenderer.java
@Override
public void doRender(EntityBlock entity, double x, double y, double z, float yaw, float partialTicks) {
	final IBlockState blockState = entity.getBlockState();

	if (blockState.getRenderType() != EnumBlockRenderType.INVISIBLE) {
		GlStateManager.pushMatrix();
		GlStateManager.translate(x - 0.5, y, z + 0.5);
		GlStateManager.disableLighting();

		bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);

		Minecraft.getMinecraft().getBlockRendererDispatcher().renderBlockBrightness(blockState, entity.getBrightness());

		GlStateManager.enableLighting();
		GlStateManager.popMatrix();
		super.doRender(entity, x, y, z, yaw, partialTicks);
	}
}
 
源代码2 项目: TofuCraftReload   文件: RenderFallTofu.java
/**
 * Renders the desired {@code T} type Entity.
 */
public void doRender(EntityFallTofu entity, double x, double y, double z, float entityYaw, float partialTicks) {

    IBlockState iblockstate = BlockLoader.tofuTerrain.getDefaultState();

    if (iblockstate.getRenderType() == EnumBlockRenderType.MODEL) {
        World world = entity.getWorldObj();

        if (iblockstate != world.getBlockState(new BlockPos(entity)) && iblockstate.getRenderType() != EnumBlockRenderType.INVISIBLE) {
            this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
            GlStateManager.pushMatrix();
            GlStateManager.disableLighting();
            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder bufferbuilder = tessellator.getBuffer();

            if (this.renderOutlines) {
                GlStateManager.enableColorMaterial();
                GlStateManager.enableOutlineMode(this.getTeamColor(entity));
            }

            bufferbuilder.begin(7, DefaultVertexFormats.BLOCK);
            BlockPos blockpos = new BlockPos(entity.posX, entity.getEntityBoundingBox().maxY, entity.posZ);
            GlStateManager.translate((float) (x - (double) blockpos.getX() - 0.5D), (float) (y - (double) blockpos.getY()), (float) (z - (double) blockpos.getZ() - 0.5D));
            BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
            blockrendererdispatcher.getBlockModelRenderer().renderModel(world, blockrendererdispatcher.getModelForState(iblockstate), iblockstate, blockpos, bufferbuilder, false);
            tessellator.draw();

            if (this.renderOutlines) {
                GlStateManager.disableOutlineMode();
                GlStateManager.disableColorMaterial();
            }

            GlStateManager.enableLighting();
            GlStateManager.popMatrix();
            super.doRender(entity, x, y, z, entityYaw, partialTicks);
        }
    }

}
 
源代码3 项目: GregTech   文件: FacadeHelper.java
public static boolean isValidFacade(ItemStack itemStack) {
    IBlockState rawBlockState = lookupBlockForItemUnsafe(itemStack);
    return rawBlockState != null &&
        !rawBlockState.getBlock().hasTileEntity(rawBlockState) &&
        !rawBlockState.getBlock().hasTileEntity() &&
        rawBlockState.getRenderType() == EnumBlockRenderType.MODEL &&
        rawBlockState.isFullCube();
}
 
源代码4 项目: litematica   文件: RenderGlobalSchematic.java
public boolean renderBlock(IBlockState state, BlockPos pos, IBlockAccess blockAccess, BufferBuilder bufferBuilderIn)
{
    try
    {
        EnumBlockRenderType renderType = state.getRenderType();

        if (renderType == EnumBlockRenderType.INVISIBLE)
        {
            return false;
        }
        else
        {
            switch (renderType)
            {
                case MODEL:
                    return this.blockModelRenderer.renderModel(blockAccess, this.getModelForState(state), state, pos, bufferBuilderIn);
                case ENTITYBLOCK_ANIMATED:
                    return false;
                case LIQUID:
                    return this.fluidRenderer.renderFluid(blockAccess, state, pos, bufferBuilderIn);
                default:
                    return false;
            }
        }
    }
    catch (Throwable throwable)
    {
        CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Tesselating block in world");
        CrashReportCategory crashreportcategory = crashreport.makeCategory("Block being tesselated");
        CrashReportCategory.addBlockInfo(crashreportcategory, pos, state.getBlock(), state.getBlock().getMetaFromState(state));
        throw new ReportedException(crashreport);
    }
}
 
源代码5 项目: TofuCraftReload   文件: BlockTofuStation.java
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码6 项目: TofuCraftReload   文件: BlockAdvancedAggregator.java
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.MODEL;
}
 
源代码7 项目: TofuCraftReload   文件: BlockAggregator.java
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.MODEL;
}
 
源代码8 项目: TofuCraftReload   文件: BlockTFCrasher.java
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.MODEL;
}
 
源代码9 项目: TofuCraftReload   文件: BlockTFCompressor.java
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.MODEL;
}
 
源代码10 项目: Sakura_mod   文件: BlockBarrelDistillation.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码11 项目: Sakura_mod   文件: BlockStoneMortar.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
}
 
源代码12 项目: Sakura_mod   文件: BlockBarrel.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码13 项目: Sakura_mod   文件: BlockShoji.java
@SideOnly(Side.CLIENT)
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码14 项目: Sakura_mod   文件: BlockKitunebi.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
	return EnumBlockRenderType.MODEL;
}
 
源代码15 项目: CommunityMod   文件: BlockGnomeCache.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
	return EnumBlockRenderType.MODEL;
}
 
源代码16 项目: CommunityMod   文件: BlockPortalGlowyAir.java
/**
 * The type of render function called. MODEL for mixed tesr and static model, MODELBLOCK_ANIMATED for TESR-only,
 * LIQUID for vanilla liquids, INVISIBLE to skip all rendering
 */
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.INVISIBLE;
}
 
源代码17 项目: CommunityMod   文件: BlockPortalBase.java
/**
 * The type of render function called. MODEL for mixed tesr and static model, MODELBLOCK_ANIMATED for TESR-only,
 * LIQUID for vanilla liquids, INVISIBLE to skip all rendering
 */
public EnumBlockRenderType getRenderType(IBlockState state)
{
    return EnumBlockRenderType.INVISIBLE;
}
 
源代码18 项目: CommunityMod   文件: BlockPackager.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
	return EnumBlockRenderType.MODEL;
}
 
源代码19 项目: EmergingTechnology   文件: BlockFluidBase.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码20 项目: EmergingTechnology   文件: TidalGenerator.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    // return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
    return EnumBlockRenderType.MODEL;
}
 
源代码21 项目: EmergingTechnology   文件: Scrubber.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码22 项目: EmergingTechnology   文件: Harvester.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码23 项目: EmergingTechnology   文件: Wind.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.MODEL;
}
 
源代码24 项目: GregTech   文件: BlockSurfaceRock.java
@Override
@SideOnly(Side.CLIENT)
public EnumBlockRenderType getRenderType(IBlockState state) {
    return StoneRenderer.BLOCK_RENDER_TYPE;
}
 
源代码25 项目: GregTech   文件: BlockCrusherBlade.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
}
 
源代码26 项目: GregTech   文件: BlockCable.java
@Override
@SideOnly(Side.CLIENT)
public EnumBlockRenderType getRenderType(IBlockState state) {
    return CableRenderer.BLOCK_RENDER_TYPE;
}
 
源代码27 项目: GregTech   文件: BlockFluidPipe.java
@Override
@SideOnly(Side.CLIENT)
public EnumBlockRenderType getRenderType(IBlockState state) {
    return FluidPipeRenderer.BLOCK_RENDER_TYPE;
}
 
源代码28 项目: YouTubeModdingTutorial   文件: BlockGenerator.java
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
    return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
}
 
源代码29 项目: litematica   文件: RenderChunkSchematicVbo.java
protected void renderBlocksAndOverlay(BlockPos pos, Set<TileEntity> tileEntities, boolean[] usedLayers, CompiledChunkSchematic data, BufferBuilderCache buffers)
{
    IBlockState stateSchematic = this.schematicWorldView.getBlockState(pos);
    IBlockState stateClient    = this.clientWorldView.getBlockState(pos);
    stateSchematic = stateSchematic.getActualState(this.schematicWorldView, pos);
    stateClient = stateClient.getActualState(this.clientWorldView, pos);
    Block blockSchematic = stateSchematic.getBlock();
    Block blockClient = stateClient.getBlock();
    boolean clientHasAir = blockClient == Blocks.AIR;
    boolean schematicHasAir = blockSchematic == Blocks.AIR;

    if (clientHasAir && schematicHasAir)
    {
        return;
    }

    // Schematic has a block, client has air
    if (clientHasAir || (stateSchematic != stateClient && this.renderColliding))
    {
        if (blockSchematic.hasTileEntity())
        {
            this.addTileEntity(pos, data, tileEntities);
        }

        BlockRenderLayer layer = this.renderAsTranslucent ? BlockRenderLayer.TRANSLUCENT : blockSchematic.getRenderLayer();
        int layerIndex = layer.ordinal();

        if (stateSchematic.getRenderType() != EnumBlockRenderType.INVISIBLE)
        {
            BufferBuilder bufferSchematic = buffers.getWorldRendererByLayerId(layerIndex);

            if (data.isLayerStarted(layer) == false)
            {
                data.setLayerStarted(layer);
                this.preRenderBlocks(bufferSchematic, this.getPosition());
            }

            usedLayers[layerIndex] |= this.renderGlobal.renderBlock(stateSchematic, pos, this.schematicWorldView, bufferSchematic);
        }
    }

    if (this.overlayEnabled)
    {
        OverlayType type = this.getOverlayType(stateSchematic, stateClient);
        Color4f overlayColor = this.getOverlayColor(type);

        if (overlayColor != null)
        {
            this.renderOverlay(pos, stateSchematic, type, overlayColor, data, buffers);
        }
    }
}
 
public void render(int x, int y, int zLevel, Minecraft mc)
{
    if (this.stateExpected != null && this.stateFound != null)
    {
        GlStateManager.pushMatrix();

        int x1 = x + 10;
        int x2 = x + this.columnWidthExpected + 30;

        RenderUtils.drawOutlinedBox(x, y, this.totalWidth, this.totalHeight, 0xFF000000, GuiBase.COLOR_HORIZONTAL_BAR, zLevel);
        RenderUtils.drawRect(x1, y + 16, 16, 16, 0x50C0C0C0, zLevel); // light background for the item
        RenderUtils.drawRect(x2, y + 16, 16, 16, 0x50C0C0C0, zLevel); // light background for the item

        FontRenderer textRenderer = mc.fontRenderer;
        String pre = GuiBase.TXT_WHITE + GuiBase.TXT_BOLD;
        String strExpected = pre + StringUtils.translate("litematica.gui.label.schematic_verifier.expected") + GuiBase.TXT_RST;
        String strFound =    pre + StringUtils.translate("litematica.gui.label.schematic_verifier.found") + GuiBase.TXT_RST;

        GlStateManager.translate(0f, 0f, zLevel + 0.1f);

        y += 4;
        textRenderer.drawString(strExpected, x1, y, 0xFFFFFFFF);
        textRenderer.drawString(strFound,    x2, y, 0xFFFFFFFF);
        y += 12;

        GlStateManager.disableLighting();
        RenderUtils.enableGuiItemLighting();

        boolean useBlockModelConfig = Configs.Visuals.SCHEMATIC_VERIFIER_BLOCK_MODELS.getBooleanValue();
        boolean hasModelExpected = this.stateExpected.getRenderType() == EnumBlockRenderType.MODEL;
        boolean hasModelFound    = this.stateFound.getRenderType() == EnumBlockRenderType.MODEL;
        boolean isAirItemExpected = this.stackExpected.isEmpty();
        boolean isAirItemFound    = this.stackFound.isEmpty();
        boolean useBlockModelExpected = hasModelExpected && (isAirItemExpected || useBlockModelConfig || this.stateExpected.getBlock() == Blocks.FLOWER_POT);
        boolean useBlockModelFound    = hasModelFound    && (isAirItemFound    || useBlockModelConfig || this.stateFound.getBlock() == Blocks.FLOWER_POT);
        BlockModelShapes blockModelShapes = mc.getBlockRendererDispatcher().getBlockModelShapes();

        //mc.getRenderItem().zLevel += 100;

        IBakedModel model;

        if (useBlockModelExpected)
        {
            model = blockModelShapes.getModelForState(this.stateExpected);
            RenderUtils.renderModelInGui(x1, y, zLevel + 1, model, this.stateExpected);
        }
        else
        {
            mc.getRenderItem().renderItemAndEffectIntoGUI(mc.player, this.stackExpected, x1, y);
            mc.getRenderItem().renderItemOverlayIntoGUI(textRenderer, this.stackExpected, x1, y, null);
        }

        if (useBlockModelFound)
        {
            model = blockModelShapes.getModelForState(this.stateFound);
            RenderUtils.renderModelInGui(x2, y, zLevel + 1, model, this.stateFound);
        }
        else
        {
            mc.getRenderItem().renderItemAndEffectIntoGUI(mc.player, this.stackFound, x2, y);
            mc.getRenderItem().renderItemOverlayIntoGUI(textRenderer, this.stackFound, x2, y, null);
        }

        //mc.getRenderItem().zLevel -= 100;

        //GlStateManager.disableBlend();
        RenderUtils.disableItemLighting();

        textRenderer.drawString(this.nameExpected, x1 + 20, y + 4, 0xFFFFFFFF);
        textRenderer.drawString(this.nameFound,    x2 + 20, y + 4, 0xFFFFFFFF);

        y += 20;
        textRenderer.drawString(this.blockRegistrynameExpected, x1, y, 0xFF4060FF);
        textRenderer.drawString(this.blockRegistrynameFound,    x2, y, 0xFF4060FF);
        y += StringUtils.getFontHeight() + 4;

        List<String> propsExpected = BlockUtils.getFormattedBlockStateProperties(this.stateExpected, " = ");
        List<String> propsFound = BlockUtils.getFormattedBlockStateProperties(this.stateFound, " = ");
        RenderUtils.renderText(x1, y, 0xFFB0B0B0, propsExpected);
        RenderUtils.renderText(x2, y, 0xFFB0B0B0, propsFound);

        GlStateManager.popMatrix();
    }
}
 
 类所在包
 同包方法