ForgeHooksClient.setRenderLayer(null); ForgeHooksClient.setRenderLayer(layer);
model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.NONE, false);
@SideOnly(Side.CLIENT) @Override public void registerModels() { super.registerModels(); ForgeHooksClient.registerTESRItemStack(this, 0, TileGaiaHead.class); }
try { for (BlockRenderLayer layer : BlockRenderLayer.values()) { ForgeHooksClient.setRenderLayer(layer); setGlStateForPass(layer, false); doWorldRenderPass(trans, configurables, layer); ForgeHooksClient.setRenderLayer(layer); setGlStateForPass(layer, true); doWorldRenderPass(trans, neighbours, layer); ForgeHooksClient.setRenderLayer(renderLayer); ForgeHooksClient.setRenderPass(pass); setGlStateForPass(pass, false); doTileEntityRenderPass(configurables, pass); ForgeHooksClient.setRenderPass(-1); setGlStateForPass(0, false);
private void doTileEntityRenderPass(Multiblock mb, Iterable<? extends BlockPos> blocks, final int pass) { mb.setWorld(mc.world); RenderHelper.enableStandardItemLighting(); GlStateManager.enableLighting(); ForgeHooksClient.setRenderPass(1); setGlStateForPass(1); for (BlockPos pos : blocks) { TileEntity te = mb.getTileEntity(pos); BlockPos relPos = new BlockPos(mc.player); if (te != null && !erroredTiles.contains(te) && te.shouldRenderInPass(pass)) { te.setWorld(mc.world); te.setPos(relPos.add(pos)); try { TileEntityRendererDispatcher.instance.render(te, pos.getX(), pos.getY(), pos.getZ(), ClientTicker.partialTicks); } catch (Exception e) { erroredTiles.add(te); e.printStackTrace(); } } } ForgeHooksClient.setRenderPass(-1); RenderHelper.disableStandardItemLighting(); }
@Override protected ModelBiped getArmorModelHook(net.minecraft.entity.EntityLivingBase entity, net.minecraft.item.ItemStack itemStack, EntityEquipmentSlot slot, ModelBiped model) { return net.minecraftforge.client.ForgeHooksClient.getArmorModel(entity, itemStack, slot, model); } }
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(); }
public static Pair<Boolean, ModelBiped> getEquippedModel(EntityPlayer player, RenderPlayer render, EntityEquipmentSlot slot) { ItemStack equip = player.getItemStackFromSlot(slot); boolean hasEquip = !equip.isEmpty(); if (hasEquip) { for (Object object : render.layerRenderers) { if (object instanceof LayerArmorBase && ((LayerArmorBase) object).getModelFromSlot(slot) instanceof ModelBiped) { return Pair.of(true, ForgeHooksClient.getArmorModel(player, equip, slot, (ModelBiped)((LayerArmorBase) object).getModelFromSlot(slot))); } } } return Pair.of(hasEquip, null); }
@Override public void apply(@Nonnull BlockRenderLayer layer) { ForgeHooksClient.setRenderLayer(layer); setGlStateForPass(layer, false); doWorldRenderPass(trans, configurables, layer); } });
public void renderKamuiBlack() { // Modified copy of RenderItem.renderItem(stack, transformtype) Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getMinecraft().renderEngine.getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(renderStack); GlStateManager.enableRescaleNormal(); GlStateManager.alphaFunc(516, 0.1F); GlStateManager.enableBlend(); GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); GlStateManager.pushMatrix(); model = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.NONE, false); renderModel(model, renderStack, 0xFF00004C); GlStateManager.cullFace(GlStateManager.CullFace.BACK); GlStateManager.popMatrix(); GlStateManager.disableRescaleNormal(); GlStateManager.disableBlend(); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getMinecraft().renderEngine.getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); }
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerCustomItemblock(this, "teru_teru_bozu"); ForgeHooksClient.registerTESRItemStack(Item.getItemFromBlock(this), 0, TileTeruTeruBozu.class); }
ForgeHooksClient.setRenderLayer(oldRenderLayer); ForgeHooksClient.setRenderPass(pass); setGlStateForPass(pass, false); doTileEntityRenderPass(configurables, pass); ForgeHooksClient.setRenderPass(-1); setGlStateForPass(0, false);
@Override public void apply(@Nonnull BlockRenderLayer layer) { ForgeHooksClient.setRenderLayer(layer); setGlStateForPass(layer, true); doWorldRenderPass(trans, neighbours, layer); } });
ibakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ibakedmodel, ItemCameraTransforms.TransformType.GROUND, false); this.itemRenderer.renderItem(itemstack, ibakedmodel); GlStateManager.popMatrix();
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerCustomItemblock(this, "corporea_index"); ForgeHooksClient.registerTESRItemStack(Item.getItemFromBlock(this), 0, TileCorporeaIndex.class); }
ForgeHooksClient.setRenderLayer( forcedLayer ); modelQuads.addAll( gatherQuads( model, blockState, rand ) ); ForgeHooksClient.setRenderLayer( layer );
public void doRender(@Nonnull World world, @Nonnull ItemStack itemstack, double rot) { GlStateManager.enableLighting(); GlStateManager.enableRescaleNormal(); GlStateManager.alphaFunc(516, 0.1F); GlStateManager.enableBlend(); GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); GlStateManager.pushMatrix(); IBakedModel ibakedmodel = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(itemstack, world, null); float f2 = ibakedmodel.getItemCameraTransforms().getTransform(ItemCameraTransforms.TransformType.GROUND).scale.y; GlStateManager.translate(0, 0.25F * f2, 0); double f3 = rot * (180F / (float) Math.PI); GlStateManager.rotate((float) f3, 0.0F, 1.0F, 0.0F); ibakedmodel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(ibakedmodel, ItemCameraTransforms.TransformType.GROUND, false); if (ibakedmodel != null) { Minecraft.getMinecraft().getRenderItem().renderItem(itemstack, ibakedmodel); } GlStateManager.popMatrix(); GlStateManager.disableRescaleNormal(); GlStateManager.disableBlend(); }
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerInventoryVariant(this); ForgeHooksClient.registerTESRItemStack(Item.getItemFromBlock(this), 0, TileCorporeaCrystalCube.class); }
@Override public void apply(@Nonnull BlockRenderLayer layer) { ForgeHooksClient.setRenderLayer(layer); // TODO: Need to setup GL state correctly for each layer blockrendererdispatcher.getBlockModelRenderer().renderModel(world, ibakedmodel, state, pos, wr, false); } });
private void renderItemLabel(@Nonnull ItemStack itemLabel, double globalScale) { if (!itemLabel.isEmpty()) { RenderManager renderManager = Minecraft.getMinecraft().getRenderManager(); RenderItem itemRenderer = Minecraft.getMinecraft().getRenderItem(); GlStateManager.pushMatrix(); GlStateManager.translate(0.5f, 0.75f, 0.5f); // TODO: This doesn't work that well with 3D items, find a rotation that does GlStateManager.rotate(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GlStateManager.rotate((renderManager.options.thirdPersonView == 2 ? -1 : 1) * renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GlStateManager.scale(globalScale, globalScale, globalScale); GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F); RenderHelper.enableStandardItemLighting(); IBakedModel bakedmodel = itemRenderer.getItemModelWithOverrides(itemLabel, (World) null, (EntityLivingBase) null); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_CONSTANT_COLOR, GlStateManager.SourceFactor.ONE.factor, GlStateManager.DestFactor.ZERO.factor); GL14.glBlendColor(itemBlend.x, itemBlend.y, itemBlend.z, itemBlend.w); bakedmodel = ForgeHooksClient.handleCameraTransforms(bakedmodel, ItemCameraTransforms.TransformType.GUI, false); itemRenderer.renderItem(itemLabel, NullHelper.notnullF(bakedmodel, "handleCameraTransforms returned null!")); RenderHelper.disableStandardItemLighting(); GL14.glBlendColor(1, 1, 1, 1); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.popMatrix(); } }