@Nonnull @Override public List<BakedQuad> bakeQuads(@Nullable EnumFacing face, IExtendedBlockState state) { if (face != null) { return Collections.emptyList(); } BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); Collection<CCModel> transformedGroups = applyModelTransforms(groups.values(), face, state); renderBlockModels(transformedGroups, ccrs, face, state); buffer.finishDrawing(); return buffer.bake(); }
@Nonnull @Override public List<BakedQuad> bakeItemQuads(@Nullable EnumFacing face, ItemStack stack) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); renderItemModels(ccrs, stack); buffer.finishDrawing(); return buffer.bake(); }
@Nonnull @Override public List<BakedQuad> bakeItemQuads(@Nullable EnumFacing face, ItemStack stack) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); TorqueTier tier = TorqueTier.byMetadata(stack.getMetadata()); HashSet<CCModel> transformedModels = Sets.newHashSet(); transformedModels.addAll(getTransformedModels(BlockRenderLayer.SOLID, false, true, 0f, 1)); transformedModels.addAll(getTransformedModels(BlockRenderLayer.SOLID, false, false, 0f, 1)); transformedModels.addAll(getTransformedModels(BlockRenderLayer.TRANSLUCENT, false, false, 0f, 1)); renderModels(transformedModels, ccrs, false, tier); buffer.finishDrawing(); return buffer.bake(); }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); CCRenderState ccrs = CCRenderState.instance(); buffer.begin(0x07, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); IItemBlockTextureProvider provider = TEBlocks.blockDevice; renderFace(ccrs, face, provider.getTexture(face, stack), 0xFFFFFFFF); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); CCRenderState ccrs = CCRenderState.instance(); buffer.begin(0x07, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); IItemBlockTextureProvider provider = TEBlocks.blockCache; renderFace(ccrs, face, provider.getTexture(face, stack), 0xFFFFFFFF); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Nonnull @Override public List<BakedQuad> bakeLayerFace(@Nullable EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { if (face != null || !state.getValue(AutomationProperties.IS_CONTROL)) { return Collections.emptyList(); } BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); boolean largeModel = state.getValue(AutomationProperties.WIDTH) > 1; TorqueTier tier = state.getValue(AutomationProperties.TIER); renderModels(getTransformedModels(layer, state), ccrs, largeModel, tier); buffer.finishDrawing(); return buffer.bake(); }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face == null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); boolean creative = BlockCell.itemBlock.isCreative(stack); int level = BlockCell.itemBlock.getLevel(stack); int scale = Math.min(8, getScaledEnergyStored(stack, 9)); renderFrame(ccrs, creative, level, null, 0, null); ccrs.brightness = 160 + scale * 10; renderCenter(ccrs); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && state != null) { Block block = state.getBlock(); IWorldBlockTextureProvider provider = (IWorldBlockTextureProvider) block; TileCache tile = state.getValue(TEProps.TILE_CACHE); IBlockAccess world = state.getValue(TEProps.BAKERY_WORLD); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(0x07, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); renderFace(ccrs, face, provider.getTexture(face, state, layer, world, tile.getPos()), 0xFFFFFFFF); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && state != null) { Block block = state.getBlock(); IWorldBlockTextureProvider provider = (IWorldBlockTextureProvider) block; TileDeviceBase tile = state.getValue(TEProps.TILE_DEVICE); IBlockAccess world = state.getValue(TEProps.BAKERY_WORLD); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(0x07, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); renderFace(ccrs, face, provider.getTexture(face, state, layer, world, tile.getPos()), tile.getColorMask(layer, face)); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face == null && state != null) { TileCell cell = state.getValue(TEProps.TILE_CELL); boolean creative = cell.isCreative; int level = cell.getLevel(); int scale = cell.getLightValue(); TextureAtlasSprite meter = creative ? TETextures.CELL_METER_C : TETextures.CELL_METER[scale]; int facing = cell.getFacing(); byte[] sideCache = cell.sideCache; BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); if (layer == BlockRenderLayer.CUTOUT) { renderFrame(ccrs, creative, level, sideCache, facing, meter); } else if (layer == BlockRenderLayer.TRANSLUCENT) { ccrs.brightness = 160 + scale * 10; renderCenter(ccrs); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); CCRenderState ccrs = CCRenderState.instance(); buffer.begin(0x07, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); boolean creative = BlockMachine.itemBlock.isCreative(stack); int level = BlockMachine.itemBlock.getLevel(stack); IItemBlockTextureProvider provider = TEBlocks.blockMachine; renderFace(ccrs, face, provider.getTexture(face, stack), 0xFFFFFFFF); if (TEProps.renderMachineOverlay && level > 0) { renderFaceOverlay(ccrs, face, creative ? TETextures.MACHINE_OVERLAY_C : getOverlaySprite(face, level), 0xFFFFFFFF); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face == null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); boolean creative = BlockDynamo.itemBlock.isCreative(stack); int level = BlockDynamo.itemBlock.getLevel(stack); renderCoil(ccrs, 1, false, 0); renderBase(ccrs, 1, false, stack.getMetadata()); if (TEProps.renderDynamoOverlay && level > 0) { renderBaseOverlay(ccrs, 1, false, creative ? TETextures.DYNAMO_OVERLAY_C : getOverlaySprite(level)); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face == null) { CCRenderState ccrs = CCRenderState.instance(); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); Block blockFromItem = Block.getBlockFromItem(stack.getItem()); Duct ductType = TDDucts.getDuct(((BlockDuct) blockFromItem).offset + stack.getItemDamage()); RenderDuct.INSTANCE.renderBase(ccrs, true, ductType, RenderDuct.INV_CONNECTIONS, Translation.CENTER, ductType.getBaseTexture(stack)); RenderDuct.INSTANCE.renderWorldExtra(ccrs, true, ductType, RenderDuct.INV_CONNECTIONS, Vector3.center.copy().subtract(0, RenderHelper.RENDER_OFFSET, 0).translation()); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face == null && state != null) { TileTank tank = state.getValue(TEProps.TILE_TANK); boolean creative = tank.isCreative; int level = tank.getLevel(); int holding = tank.enchantHolding; int mode = tank.getTransferOut() ? 1 : 0; boolean lock = tank.isLocked(); FluidStack fluidStack = tank.getTankFluid(); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); if (layer == BlockRenderLayer.CUTOUT) { renderFrame(ccrs, creative, level, mode); if (lock) { renderLock(ccrs); } } else { renderFluid(ccrs, creative, level, holding, fluidStack); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && state != null) { TileLightBase light = state.getValue(TEProps.TILE_LIGHT); boolean modified = false; // light.isModified(); int color = 0xFFFFFFFF; // light.color; int type = state.getValue(BlockLight.VARIANT).getMetadata(); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(0x07, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); if (layer == BlockRenderLayer.SOLID) { renderCenter(ccrs, color, getCenterTexture(type, modified)); } else if (layer == BlockRenderLayer.CUTOUT) { renderFrame(ccrs, color, getFrameTexture(type)); } else if (layer == BlockRenderLayer.TRANSLUCENT) { renderHalo(ccrs, color, getHaloTexture(type)); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeLayerFace(EnumFacing face, BlockRenderLayer layer, IExtendedBlockState state) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && state != null) { Block block = state.getBlock(); IWorldBlockTextureProvider provider = (IWorldBlockTextureProvider) block; TileMachineBase tile = state.getValue(TEProps.TILE_MACHINE); IBlockAccess world = state.getValue(TEProps.BAKERY_WORLD); boolean creative = tile.isCreative; int level = tile.getLevel(); BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(0x07, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); renderFace(ccrs, face, provider.getTexture(face, state, layer, world, tile.getPos()), tile.getColorMask(layer, face)); if (layer == BlockRenderLayer.CUTOUT && TEProps.renderMachineOverlay && level > 0) { renderFace(ccrs, face, creative ? TETextures.MACHINE_OVERLAY_C : getOverlaySprite(face, level), 0xFFFFFFFF); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face == null && !stack.isEmpty()) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); boolean creative = BlockTank.itemBlock.isCreative(stack); int level = BlockTank.itemBlock.getLevel(stack); int holding = EnchantmentHelper.getEnchantmentLevel(CoreEnchantments.holding, stack); FluidStack fluid = null; if (stack.getTagCompound() != null) { fluid = FluidStack.loadFluidStackFromNBT(stack.getTagCompound().getCompoundTag("Fluid")); } renderFrame(ccrs, creative, level, 0); renderFluid(ccrs, creative, level, holding, fluid); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing dir, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (dir == null) { BakingVertexBuffer buffer = BakingVertexBuffer.create(); buffer.begin(0x07, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset(); ccrs.bind(buffer); for (EnumFacing face : EnumFacing.VALUES) { int i = face.ordinal(); BakeryCell.modelFrame.render(ccrs, i * 4, i * 4 + 4, new IconTransformation(getFrameTexture(face, stack))); TextureAtlasSprite inner = getInnerTexture(face, stack); if (inner != null) { BakeryCell.modelFrame.render(ccrs, i * 4 + 24, i * 4 + 28, new IconTransformation(inner)); } } TextureAtlasSprite center = getCenterTexture(stack); if (center != null) { BakeryCell.modelCenter.render(ccrs, new IconTransformation(center)); } buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
@Override public List<BakedQuad> bakeItemQuads(EnumFacing face, ItemStack stack) { List<BakedQuad> quads = new ArrayList<>(); if (face != null && !stack.isEmpty()) { int color = 0xFFFFFFFF; boolean modified = false; if (stack.hasTagCompound()) { if (stack.getTagCompound().hasKey("Color")) { int stackColor = stack.getTagCompound().getInteger("Color"); if (stackColor != -1) { color = (stackColor << 8) + 0xFF; modified = true; } } } BakingVertexBuffer buffer = BakingVertexBuffer.create(); CCRenderState ccrs = CCRenderState.instance(); buffer.begin(0x07, DefaultVertexFormats.ITEM); ccrs.reset(); ccrs.bind(buffer); int metadata = ItemHelper.getItemDamage(stack); renderCenter(ccrs, color, getCenterTexture(metadata, modified)); renderFrame(ccrs, color, getFrameTexture(metadata)); buffer.finishDrawing(); quads.addAll(buffer.bake()); } return quads; }
buffer.begin(7, DefaultVertexFormats.ITEM); CCRenderState ccrs = CCRenderState.instance(); ccrs.reset();