本文整理了Java中net.minecraft.util.BlockRenderLayer.values()
方法的一些代码示例,展示了BlockRenderLayer.values()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BlockRenderLayer.values()
方法的具体详情如下:
包路径:net.minecraft.util.BlockRenderLayer
类名称:BlockRenderLayer
方法名:values
暂无
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
for( BlockRenderLayer forcedLayer : BlockRenderLayer.values() )
代码示例来源:origin: OpenMods/OpenModsLib
public MultiLayerBakedModel(Map<BlockRenderLayer, IBakedModel> models, IBakedModel base, IBakedModel missing, ImmutableMap<TransformType, TRSRTransformation> cameraTransforms) {
super(base, cameraTransforms);
this.models = ImmutableMap.copyOf(models);
this.missing = missing;
final List<BakedQuad> quads = Lists.newArrayList();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
final IBakedModel model = models.get(layer);
if (model != null) {
buildQuadsForLayer(quads, model);
}
}
this.quads = ImmutableList.copyOf(quads);
}
代码示例来源:origin: PenguinSquad/Harvest-Festival
@Override
protected void setupRender(BuildingAccess world) {
for (BlockRenderLayer layer: BlockRenderLayer.values()) {
VertexBuffer buffer = renderer.getWorldRendererByLayer(layer);
buffer.begin(7, DefaultVertexFormats.BLOCK);
world.getBlockMap().entrySet().stream().filter(placeable -> placeable.getKey().getY() != 0)
.forEach(placeable -> addRender(world, placeable.getValue(), placeable.getKey(), layer, buffer));
}
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
public @Nonnull List<BakedQuad> getQuads(EnumFacing side, BlockRenderLayer pass) {
final List<BakedQuad> list = table[mkKey(side, pass)];
if (list == null || list.isEmpty()) {
if (pass == BREAKING) {
// breaking layer: not set by model, try to construct it on-the-fly
List<BakedQuad> result = Collections.<BakedQuad> emptyList();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
result = CompositeList.create(result, table[mkKey(side, layer)]);
}
return result;
}
return Collections.<BakedQuad> emptyList();
} else {
return list;
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
private static Integer mkKey(EnumFacing side, BlockRenderLayer pass) {
return (side == null ? 0 : side.ordinal() + 1) * (BlockRenderLayer.values().length + 1) + (pass == BREAKING ? 0 : pass.ordinal() + 1);
}
代码示例来源:origin: PenguinSquad/Harvest-Festival
protected void setupRender(BuildingAccess world) {
for (BlockRenderLayer layer: BlockRenderLayer.values()) {
VertexBuffer buffer = renderer.getWorldRendererByLayer(layer);
buffer.begin(7, DefaultVertexFormats.BLOCK);
for (Entry<BlockPos, IBlockState> placeable: world.getBlockMap().entrySet()) {
addRender(world, placeable.getValue(), placeable.getKey(), layer, buffer);
}
}
}
代码示例来源:origin: OpenMods/OpenModsLib
@Override
public MultiLayerModel process(ImmutableMap<String, String> customData) {
final ModelUpdater updater = new ModelUpdater(customData);
final Optional<ResourceLocation> base = updater.get("base", ModelUpdater.MODEL_LOCATION, this.base);
final Map<BlockRenderLayer, ResourceLocation> models = Maps.newHashMap();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
final ResourceLocation result = updater.get(layer.toString(), ModelUpdater.MODEL_LOCATION, this.models.get(layer));
if (result != null) models.put(layer, result);
}
return updater.hasChanged()? new MultiLayerModel(base, models) : this;
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
private static void updateCacheClient()
{
layerFilters.clear();
final Map<BlockRenderLayer, BitSet> layerFilters = VoxelBlob.layerFilters;
final BlockRenderLayer[] layers = BlockRenderLayer.values();
for ( final BlockRenderLayer layer : layers )
{
layerFilters.put( layer, new BitSet( 4096 ) );
}
for ( final Iterator<Block> it = Block.REGISTRY.iterator(); it.hasNext(); )
{
final Block block = it.next();
for ( final IBlockState state : block.getBlockState().getValidStates() )
{
final int id = ModUtil.getStateId( state );
if ( state == null || state.getBlock() != block )
{
// reverse mapping is broken, so just skip over this state.
continue;
}
for ( final BlockRenderLayer layer : layers )
{
if ( block.canRenderInLayer( state, layer ) )
{
layerFilters.get( layer ).set( id );
}
}
}
}
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
public VoxelNeighborRenderTracker()
{
faceCount = new Integer[BlockRenderLayer.values().length];
if ( ChiselsAndBits.getConfig().defaultToDynamicRenderer )
{
isDynamic = IS_DYNAMIC | IS_LOCKED;
for ( int x = 0; x < faceCount.length; ++x )
{
faceCount[x] = ChiselsAndBits.getConfig().dynamicModelFaceCount + 1;
}
}
else if ( ChiselsAndBits.getConfig().forceDynamicRenderer )
{
isDynamic = IS_DYNAMIC | IS_LOCKED;
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
@SuppressWarnings("null")
public static void renderBlockModel(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull IBlockState state, boolean translateToOrigin, boolean relight) {
BufferBuilder wr = Tessellator.getInstance().getBuffer();
wr.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
if (translateToOrigin) {
wr.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ());
}
BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
BlockModelShapes modelShapes = blockrendererdispatcher.getBlockModelShapes();
IBakedModel ibakedmodel = modelShapes.getModelForState(state);
final IBlockAccess worldWrapper = relight ? new WorldWrapper(world, pos) : world;
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
if (state.getBlock().canRenderInLayer(state, layer)) {
ForgeHooksClient.setRenderLayer(layer);
blockrendererdispatcher.getBlockModelRenderer().renderModel(worldWrapper, ibakedmodel, state, pos, wr, false);
}
}
ForgeHooksClient.setRenderLayer(null);
if (translateToOrigin) {
wr.setTranslation(0, 0, 0);
}
Tessellator.getInstance().draw();
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
final int[] faceCount = new int[BlockRenderLayer.values().length];
代码示例来源:origin: OpenMods/OpenModsLib
private void drawBlock() {
final Tessellator tessellator = Tessellator.getInstance();
final BufferBuilder wr = tessellator.getBuffer();
final BlockRendererDispatcher dispatcher = parent.getMinecraft().getBlockRendererDispatcher();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
if (blockState.getBlock().canRenderInLayer(blockState, layer)) {
net.minecraftforge.client.ForgeHooksClient.setRenderLayer(layer);
wr.setTranslation(-0.5, -0.5, -0.5);
wr.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
dispatcher.renderBlock(blockState, FakeBlockAccess.ORIGIN, access, wr);
tessellator.draw();
}
}
wr.setTranslation(0.0D, 0.0D, 0.0D);
net.minecraftforge.client.ForgeHooksClient.setRenderLayer(null);
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
for ( final BlockRenderLayer layer : BlockRenderLayer.values() )
代码示例来源:origin: Vazkii/Patchouli
private void renderElements(Multiblock mb, Iterable<? extends BlockPos> blocks, Vector4f eye) {
GlStateManager.pushMatrix();
GlStateManager.color(1F, 1F, 1F, 1F);
GlStateManager.translate(0, 0, -1);
TileEntityRendererDispatcher.instance.entityX = eye.x;
TileEntityRendererDispatcher.instance.entityY = eye.y;
TileEntityRendererDispatcher.instance.entityZ = eye.z;
TileEntityRendererDispatcher.staticPlayerX = eye.x;
TileEntityRendererDispatcher.staticPlayerY = eye.y;
TileEntityRendererDispatcher.staticPlayerZ = eye.z;
BlockRenderLayer oldRenderLayer = MinecraftForgeClient.getRenderLayer();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
if (layer == BlockRenderLayer.TRANSLUCENT) {
doTileEntityRenderPass(mb, blocks, 0);
}
doWorldRenderPass(mb, blocks, layer, eye);
if (layer == BlockRenderLayer.TRANSLUCENT) {
doTileEntityRenderPass(mb, blocks, 1);
}
}
ForgeHooksClient.setRenderLayer(oldRenderLayer);
ForgeHooksClient.setRenderPass(-1);
setGlStateForPass(0);
mc.getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap();
GlStateManager.popMatrix();
}
代码示例来源:origin: raoulvdberge/refinedstorage
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
ForgeHooksClient.setRenderLayer(layer);
代码示例来源:origin: RS485/LogisticsPipes
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
ForgeHooksClient.setRenderLayer(layer);
setGlStateForPass(layer, false);
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
ForgeHooksClient.setRenderLayer(layer);
setGlStateForPass(layer, true);
代码示例来源:origin: amadornes/MCMultiPart
buffer.noColor();
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
if (info.getPart().canRenderInLayer(info.getPartWorld(), info.getPartPos(), info, state, layer)) {
ForgeHooksClient.setRenderLayer(layer);
代码示例来源:origin: SleepyTrousers/EnderIO
public void renderBlock(@Nonnull BlockPos pos, IBlockAccess blockAccess, double globalScale, boolean highlight) {
BufferBuilder tes = Tessellator.getInstance().getBuffer();
BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
GlStateManager.pushMatrix();
GlStateManager.translate(0.5f, 0.5f, 0.5f);
GlStateManager.scale(globalScale, globalScale, globalScale);
GlStateManager.translate(-0.5f, -0.5f, -0.5f);
IBlockState state = blockAccess.getBlockState(pos).getActualState(blockAccess, pos);
IBakedModel ibakedmodel = blockrendererdispatcher.getModelForState(state);
state = state.getBlock().getExtendedState(state, blockAccess, pos);
tes.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ());
Vector4f color = highlight ? selectedBlockBlend : blockBlend;
GlStateManager.color(1, 1, 1, 1);
GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_CONSTANT_COLOR, GlStateManager.SourceFactor.ONE.factor,
GlStateManager.DestFactor.ZERO.factor);
GL14.glBlendColor(color.x, color.y, color.z, color.w);
tes.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
for (BlockRenderLayer layer : BlockRenderLayer.values()) {
if (state.getBlock().canRenderInLayer(state, NullHelper.notnullJ(layer, "BlockRenderLayer value was null!"))) {
ForgeHooksClient.setRenderLayer(layer);
blockrendererdispatcher.getBlockModelRenderer().renderModel(blockAccess, ibakedmodel, state, pos, tes, false);
}
}
ForgeHooksClient.setRenderLayer(null);
Tessellator.getInstance().draw();
GL14.glBlendColor(1, 1, 1, 1);
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
tes.setTranslation(0, 0, 0);
GlStateManager.popMatrix();
}
内容来源于网络,如有侵权,请联系作者删除!