当前位置: 首页>>代码示例>>Java>>正文


Java VisGraph类代码示例

本文整理汇总了Java中net.minecraft.client.renderer.chunk.VisGraph的典型用法代码示例。如果您正苦于以下问题:Java VisGraph类的具体用法?Java VisGraph怎么用?Java VisGraph使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


VisGraph类属于net.minecraft.client.renderer.chunk包,在下文中一共展示了VisGraph类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getVisibleFacings

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
private Set<EnumFacing> getVisibleFacings(BlockPos pos)
{
    VisGraph visgraph = new VisGraph();
    BlockPos blockpos = new BlockPos(pos.getX() >> 4 << 4, pos.getY() >> 4 << 4, pos.getZ() >> 4 << 4);
    Chunk chunk = this.theWorld.getChunkFromBlockCoords(blockpos);

    for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos.add(15, 15, 15)))
    {
        if (chunk.getBlockState(blockpos$mutableblockpos).isOpaqueCube())
        {
            visgraph.setOpaqueCube(blockpos$mutableblockpos);
        }
    }

    return visgraph.getVisibleFacings(pos);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:17,代码来源:RenderGlobal.java

示例2: getVisibleFacings

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
private Set<EnumFacing> getVisibleFacings(BlockPos pos)
{
    VisGraph visgraph = new VisGraph();
    BlockPos blockpos = new BlockPos(pos.getX() >> 4 << 4, pos.getY() >> 4 << 4, pos.getZ() >> 4 << 4);
    Chunk chunk = this.theWorld.getChunkFromBlockCoords(blockpos);

    for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos.add(15, 15, 15)))
    {
        if (chunk.getBlock(blockpos$mutableblockpos).isOpaqueCube())
        {
            visgraph.func_178606_a(blockpos$mutableblockpos);
        }
    }
    return visgraph.func_178609_b(pos);
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:16,代码来源:RenderGlobal.java

示例3: getVisibleFacings

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
private Set getVisibleFacings(BlockPos pos)
{
    VisGraph visgraph = new VisGraph();
    BlockPos blockpos = new BlockPos(pos.getX() >> 4 << 4, pos.getY() >> 4 << 4, pos.getZ() >> 4 << 4);
    Chunk chunk = this.theWorld.getChunkFromBlockCoords(blockpos);

    for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos.add(15, 15, 15)))
    {
        if (chunk.getBlock(blockpos$mutableblockpos).isOpaqueCube())
        {
            visgraph.func_178606_a(blockpos$mutableblockpos);
        }
    }
    return visgraph.func_178609_b(pos);
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:16,代码来源:RenderGlobal.java

示例4: getVisibleFacings

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
private Set<EnumFacing> getVisibleFacings(BlockPos pos)
{
    VisGraph visgraph = new VisGraph();
    BlockPos blockpos = new BlockPos(pos.getX() >> 4 << 4, pos.getY() >> 4 << 4, pos.getZ() >> 4 << 4);
    Chunk chunk = this.theWorld.getChunkFromBlockCoords(blockpos);

    for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos.add(15, 15, 15)))
    {
        if (chunk.getBlockState(blockpos$mutableblockpos).isOpaqueCube())
        {
            visgraph.setOpaqueCube(blockpos$mutableblockpos);
        }
    }
    return visgraph.getVisibleFacings(pos);
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:16,代码来源:RenderGlobal.java

示例5: getVisibleFacings

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
private Set<EnumFacing> getVisibleFacings(BlockPos pos) {
    VisGraph visibility = new VisGraph();
    BlockPos cornerPos = new BlockPos(pos.getX() >> 4 << 4, pos.getY() >> 4 << 4, pos.getZ() >> 4 << 4);
    Chunk chunk = this.blockSystem.getChunkFromBlockCoords(cornerPos);
    for (BlockPos.MutableBlockPos blockPos : BlockPos.getAllInBoxMutable(cornerPos, cornerPos.add(15, 15, 15))) {
        if (chunk.getBlockState(blockPos).isOpaqueCube()) {
            visibility.setOpaqueCube(blockPos);
        }
    }
    return visibility.getVisibleFacings(pos);
}
 
开发者ID:gegy1000,项目名称:BlockSystems,代码行数:12,代码来源:BlockSystemRenderer.java

示例6: ComputeVisibilityEvent

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
public ComputeVisibilityEvent(VisGraph visGraph, SetVisibility setVisibility) {
    this.visGraph = visGraph;
    this.setVisibility = setVisibility;
}
 
开发者ID:fr1kin,项目名称:ForgeHax,代码行数:5,代码来源:ComputeVisibilityEvent.java

示例7: getVisGraph

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
public VisGraph getVisGraph() {
    return visGraph;
}
 
开发者ID:fr1kin,项目名称:ForgeHax,代码行数:4,代码来源:ComputeVisibilityEvent.java

示例8: rebuildChunk

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
@Override
public void rebuildChunk(float x, float y, float z, ChunkCompileTaskGenerator generator)
{
    CompiledChunk compiledchunk = new CompiledChunk();
    BlockPos blockpos = this.position;
    BlockPos blockpos1 = blockpos.add(15, 15, 15);
    generator.getLock().lock();
    RegionRenderCache regionrendercache;

    try
    {
        if (generator.getStatus() != ChunkCompileTaskGenerator.Status.COMPILING)
        {
            return;
        }

        regionrendercache = new RegionRenderCacheBlocksteps(this.world, blockpos.add(-1, -1, -1), blockpos1.add(1, 1, 1), 1);
        generator.setCompiledChunk(compiledchunk);
    }
    finally
    {
        generator.getLock().unlock();
    }

    VisGraph visgraph = new VisGraph();

    Minecraft mc = Minecraft.getMinecraft();

    if (!regionrendercache.extendedLevelsInChunkCache())
    {
        ++renderChunksUpdated;
        Iterator iterator = BlockPos.getAllInBoxMutable(blockpos, blockpos1).iterator();

        while (iterator.hasNext())
        {
            BlockPos.MutableBlockPos mutableblockpos = (BlockPos.MutableBlockPos)iterator.next();
            IBlockState iblockstate = regionrendercache.getBlockState(mutableblockpos);
            Block block = iblockstate.getBlock();

            if(Blocksteps.config.mapType == 2)
            {
                synchronized(Blocksteps.eventHandler.threadCrawlBlocks.surface)
                {
                    renderBlock(mutableblockpos, iblockstate, block, visgraph, regionrendercache, generator, compiledchunk, blockpos, mc);
                }
            }
            else
            {
                renderBlock(mutableblockpos, iblockstate, block, visgraph, regionrendercache, generator, compiledchunk, blockpos, mc);
            }
        }

        BlockRenderLayer[] aenumworldblocklayer = BlockRenderLayer.values();
        int j = aenumworldblocklayer.length;

        for (int k = 0; k < j; ++k)
        {
            BlockRenderLayer enumworldblocklayer = aenumworldblocklayer[k];

            if (compiledchunk.isLayerStarted(enumworldblocklayer))
            {
                this.postRenderBlocks(enumworldblocklayer, x, y, z, generator.getRegionRenderCacheBuilder().getWorldRendererByLayer(enumworldblocklayer), compiledchunk);
            }
        }
    }

    compiledchunk.setVisibility(visgraph.computeVisibility());
}
 
开发者ID:iChun,项目名称:Blocksteps,代码行数:69,代码来源:ListedRenderChunkBlocksteps.java

示例9: renderBlock

import net.minecraft.client.renderer.chunk.VisGraph; //导入依赖的package包/类
public void renderBlock(BlockPos.MutableBlockPos mutableblockpos, IBlockState iblockstate, Block block, VisGraph visgraph, RegionRenderCache regionrendercache, ChunkCompileTaskGenerator generator, CompiledChunk compiledchunk, BlockPos blockpos, Minecraft mc)
{
    boolean hasBlock = ChunkStore.contains(mutableblockpos) || Blocksteps.config.mapType == 3 || Blocksteps.config.mapType == 4;

    if (block.isOpaqueCube())
    {
        visgraph.func_178606_a(mutableblockpos);
    }

    if (hasBlock && block.hasTileEntity(iblockstate))
    {
        TileEntity tileentity = regionrendercache.getTileEntity(new BlockPos(mutableblockpos));

        if (tileentity != null && TileEntityRendererDispatcher.instance.hasSpecialRenderer(tileentity))
        {
            compiledchunk.addTileEntity(tileentity);
        }
    }

    for(BlockRenderLayer enumworldblocklayer1 : BlockRenderLayer.values()) {
        if(!block.canRenderInLayer(enumworldblocklayer1)) continue;
        net.minecraftforge.client.ForgeHooksClient.setRenderLayer(enumworldblocklayer1);
        int i = enumworldblocklayer1.ordinal();

        if (block.getDefaultState().getRenderType() != EnumBlockRenderType.INVISIBLE)
        {
            WorldRenderer worldrenderer = generator.getRegionRenderCacheBuilder().getWorldRendererByLayerId(i);

            if (!compiledchunk.isLayerStarted(enumworldblocklayer1))
            {
                compiledchunk.setLayerStarted(enumworldblocklayer1);
                this.preRenderBlocks(worldrenderer, blockpos);
            }

            if (hasBlock && mc.getBlockRendererDispatcher().renderBlock(iblockstate, mutableblockpos, regionrendercache, worldrenderer))
            {
                compiledchunk.setLayerUsed(enumworldblocklayer1);
            }
        }
    }
}
 
开发者ID:iChun,项目名称:Blocksteps,代码行数:42,代码来源:ListedRenderChunkBlocksteps.java


注:本文中的net.minecraft.client.renderer.chunk.VisGraph类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。