private static void renderManaInvBar(ScaledResolution res, boolean hasCreative, int totalMana, int totalMaxMana) { Minecraft mc = Minecraft.getMinecraft(); int width = 182; int x = res.getScaledWidth() / 2 - width / 2; int y = res.getScaledHeight() - ConfigHandler.manaBarHeight; if(!hasCreative) { if(totalMaxMana == 0) width = 0; else width *= (double) totalMana / (double) totalMaxMana; } if(width == 0) { if(totalMana > 0) width = 1; else return; } Color color = new Color(Color.HSBtoRGB(0.55F, (float) Math.min(1F, Math.sin(System.currentTimeMillis() / 200D) * 0.5 + 1F), 1F)); GL11.glColor4ub((byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue(), (byte) (255 - color.getRed())); mc.renderEngine.bindTexture(manaBar); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); RenderHelper.drawTexturedModalRect(x, y, 0, 0, 251, width, 5); GlStateManager.disableBlend(); GL11.glColor4ub((byte) 255, (byte) 255, (byte) 255, (byte) 255); }
public void renderHUD(Minecraft mc, ScaledResolution res) { int color = 0xAA006600; char motion = backwards ? '<' : '>'; String speed = TextFormatting.BOLD + ""; for(int i = 0; i < this.speed; i++) speed = speed + motion; int x = res.getScaledWidth() / 2 - mc.fontRenderer.getStringWidth(speed) / 2; int y = res.getScaledHeight() / 2 - 15; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); mc.fontRenderer.drawStringWithShadow(speed, x, y, color); GlStateManager.disableBlend(); }
public static void renderAll() { if(!redStringTiles.isEmpty()) { GlStateManager.pushMatrix(); GlStateManager.disableTexture2D(); GlStateManager.enableBlend(); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GlStateManager.disableLighting(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 0F, 0F, sizeAlpha); TileRedString tile; while((tile = redStringTiles.poll()) != null) renderTile(tile); GlStateManager.enableTexture2D(); GlStateManager.disableBlend(); GL11.glPopAttrib(); GlStateManager.popMatrix(); } }
private static void renderWandModeDisplay(ItemStack stack, ScaledResolution res) { Minecraft mc = Minecraft.getMinecraft(); Profiler profiler = mc.profiler; profiler.startSection("wandMode"); int ticks = mc.ingameGUI.remainingHighlightTicks; ticks -= 15; if(ticks > 0) { int alpha = Math.min(255, (int) (ticks * 256.0F / 10.0F)); int color = 0x00CC00 + (alpha << 24); String disp = I18n.format(ItemTwigWand.getModeString(stack)); int x = res.getScaledWidth() / 2 - mc.fontRenderer.getStringWidth(disp) / 2; int y = res.getScaledHeight() - 70; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); mc.fontRenderer.drawStringWithShadow(disp, x, y, color); GlStateManager.disableBlend(); } profiler.endSection(); }
@Override public void render(@Nullable TileTeruTeruBozu tileentity, double d0, double d1, double d2, float f, int digProgress, float unused) { GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.enableBlend(); GlStateManager.disableCull(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.translate(d0, d1, d2); Minecraft.getMinecraft().renderEngine.bindTexture(ClientProxy.dootDoot ? textureHalloween : texture); GlStateManager.rotate(180F, 1F, 0F, 0F); double time = Botania.proxy.getWorldElapsedTicks() + f; boolean hasWorld = tileentity != null && tileentity.getWorld() != null; if(hasWorld) time += new Random(tileentity.getPos().hashCode()).nextInt(1000); GlStateManager.translate(0.5F, -1.25F + (hasWorld ? (float) Math.sin(time * 0.01F) * 0.05F : 0F), -0.5F); if(hasWorld) { GlStateManager.rotate((float) (time * 0.3), 0F, 1F, 0F); GlStateManager.rotate(4F * (float) Math.sin(time * 0.05F), 0F, 0F, 1F); float s = 0.75F; GlStateManager.scale(s, s, s); } model.render(); GlStateManager.color(1F, 1F, 1F); GlStateManager.enableRescaleNormal(); GlStateManager.enableCull(); GlStateManager.popMatrix(); }
@SideOnly(Side.CLIENT) @Override public void renderHUD(Minecraft mc, ScaledResolution res) { super.renderHUD(mc, res); int color = getColor(); String filter = I18n.format("botaniamisc.filter" + filterType); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); int x = res.getScaledWidth() / 2 - mc.fontRenderer.getStringWidth(filter) / 2; int y = res.getScaledHeight() / 2 + 30; mc.fontRenderer.drawStringWithShadow(filter, x, y, color); GlStateManager.disableBlend(); }
@Override public void renderScreen(IGuiLexiconEntry gui, int mx, int my) { Minecraft.getMinecraft().renderEngine.bindTexture(paperOverlay); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 1F, 1F, 1F); ((GuiScreen) gui).drawTexturedModalRect(gui.getLeft(), gui.getTop(), 0, 0, gui.getWidth(), gui.getHeight()); GlStateManager.disableBlend(); super.renderScreen(gui, mx, my); }
protected int setPixieBrightness(EntityPixie par1EntityPixie, int par2, float par3) { if (par2 != 0) return -1; else { bindTexture(getEntityTexture(par1EntityPixie)); float f1 = 1.0F; GlStateManager.enableBlend(); GlStateManager.disableAlpha(); GlStateManager.blendFunc(GL11.GL_ONE, GL11.GL_ONE); if (par1EntityPixie.isInvisible()) GlStateManager.depthMask(false); else GlStateManager.depthMask(true); char c0 = 61680; int j = c0 % 65536; int k = c0 / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, j / 1.0F, k / 1.0F); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.color(1.0F, 1.0F, 1.0F, f1); return 1; } }
@SideOnly(Side.CLIENT) public void renderManaBar(IGuiLexiconEntry gui, T recipe, int mx, int my) { FontRenderer font = Minecraft.getMinecraft().fontRenderer; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); int x = gui.getLeft() + gui.getWidth() / 2 - 50; int y = gui.getTop() + 120; boolean unicode = font.getUnicodeFlag(); font.setUnicodeFlag(true); String stopStr = I18n.format("botaniamisc.shiftToStopSpin"); font.drawString(stopStr, x + 50 - font.getStringWidth(stopStr) / 2, y + 15, 0x99000000); font.setUnicodeFlag(unicode); GlStateManager.disableBlend(); }
public static void drawSimpleManaHUD(int color, int mana, int maxMana, String name, ScaledResolution res) { GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Minecraft mc = Minecraft.getMinecraft(); int x = res.getScaledWidth() / 2 - mc.fontRenderer.getStringWidth(name) / 2; int y = res.getScaledHeight() / 2 + 10; mc.fontRenderer.drawStringWithShadow(name, x, y, color); x = res.getScaledWidth() / 2 - 51; y += 10; renderManaBar(x, y, color, mana < 0 ? 0.5F : 1F, mana, maxMana); if(mana < 0) { String text = I18n.format("botaniamisc.statusUnknown"); x = res.getScaledWidth() / 2 - mc.fontRenderer.getStringWidth(text) / 2; y -= 1; mc.fontRenderer.drawString(text, x, y, color); } GlStateManager.disableBlend(); }
private static void doRenderComponent(Multiblock mb, MultiblockComponent comp, BlockPos pos) { GlStateManager.pushMatrix(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); IBlockState state = comp.getBlockState(); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); if(state == null) return; if(IMultiblockRenderHook.renderHooks.containsKey(state.getBlock())) { GlStateManager.color(1F, 1F, 1F, 1F); IMultiblockRenderHook renderHook = IMultiblockRenderHook.renderHooks.get(state.getBlock()); if(renderHook.needsTranslate(state)) { GlStateManager.translate(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5); } renderHook.renderBlockForMultiblock(blockAccess, mb, state, comp); } else { BlockRendererDispatcher brd = Minecraft.getMinecraft().getBlockRendererDispatcher(); GlStateManager.translate(pos.getX(), pos.getY(), pos.getZ() + 1); GlStateManager.color(1, 1, 1, 1); brd.renderBlockBrightness(state, 1.0F); } GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.enableDepth(); GlStateManager.popMatrix(); } }
@Override @SideOnly(Side.CLIENT) public void renderScreen(IGuiLexiconEntry gui, int mx, int my) { TextureManager render = Minecraft.getMinecraft().renderEngine; render.bindTexture(resource); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.color(1F, 1F, 1F, 1F); ((GuiScreen) gui).drawTexturedModalRect(gui.getLeft(), gui.getTop(), 0, 0, gui.getWidth(), gui.getHeight()); GlStateManager.disableBlend(); int width = gui.getWidth() - 30; int height = gui.getHeight(); int x = gui.getLeft() + 16; int y = gui.getTop() + height - 40; PageText.renderText(x, y, width, height, getUnlocalizedName()); }
public static void dispatch() { Tessellator tessellator = Tessellator.getInstance(); Profiler profiler = Minecraft.getMinecraft().profiler; GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GlStateManager.depthMask(false); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.003921569F); GlStateManager.disableLighting(); profiler.startSection("sparkle"); FXSparkle.dispatchQueuedRenders(tessellator); profiler.endStartSection("wisp"); FXWisp.dispatchQueuedRenders(tessellator); profiler.endSection(); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); GlStateManager.disableBlend(); GlStateManager.depthMask(true); GL11.glPopAttrib(); }
@SideOnly(Side.CLIENT) @Override public void renderHUD(Minecraft mc, ScaledResolution res) { super.renderHUD(mc, res); ItemStack stack = new ItemStack(Blocks.WOOL, 1, nextColor); int color = getColor(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); if(!stack.isEmpty()) { String stackName = stack.getDisplayName(); int width = 16 + mc.fontRenderer.getStringWidth(stackName) / 2; int x = res.getScaledWidth() / 2 - width; int y = res.getScaledHeight() / 2 + 30; mc.fontRenderer.drawStringWithShadow(stackName, x + 20, y + 5, color); RenderHelper.enableGUIStandardItemLighting(); mc.getRenderItem().renderItemAndEffectIntoGUI(stack, x, y); RenderHelper.disableStandardItemLighting(); } GlStateManager.disableLighting(); GlStateManager.disableBlend(); }
@SideOnly(Side.CLIENT) public void renderHUD(Minecraft mc, ScaledResolution res) { ItemStack pool = new ItemStack(ModBlocks.pool, 1, world.getBlockState(getPos()).getValue(BotaniaStateProps.POOL_VARIANT).ordinal()); String name = I18n.format(pool.getTranslationKey().replaceAll("tile.", "tile." + LibResources.PREFIX_MOD) + ".name"); int color = 0x4444FF; HUDHandler.drawSimpleManaHUD(color, knownMana, manaCap, name, res); int x = res.getScaledWidth() / 2 - 11; int y = res.getScaledHeight() / 2 + 30; int u = outputting ? 22 : 0; int v = 38; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); mc.renderEngine.bindTexture(HUDHandler.manaBar); RenderHelper.drawTexturedModalRect(x, y, 0, u, v, 22, 15); GlStateManager.color(1F, 1F, 1F, 1F); ItemStack tablet = new ItemStack(ModItems.manaTablet); ItemManaTablet.setStackCreative(tablet); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); mc.getRenderItem().renderItemAndEffectIntoGUI(tablet, x - 20, y); mc.getRenderItem().renderItemAndEffectIntoGUI(pool, x + 26, y); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); GlStateManager.disableLighting(); GlStateManager.disableBlend(); }
private static void renderPoolRecipeHUD(ScaledResolution res, TilePool tile, ItemStack stack) { Minecraft mc = Minecraft.getMinecraft(); Profiler profiler = mc.profiler; profiler.startSection("poolRecipe"); RecipeManaInfusion recipe = TilePool.getMatchingRecipe(stack, tile.getWorld().getBlockState(tile.getPos().down())); if(recipe != null) { int x = res.getScaledWidth() / 2 - 11; int y = res.getScaledHeight() / 2 + 10; int u = tile.getCurrentMana() >= recipe.getManaToConsume() ? 0 : 22; int v = mc.player.getName().equals("haighyorkie") && mc.player.isSneaking() ? 23 : 8; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); mc.renderEngine.bindTexture(manaBar); RenderHelper.drawTexturedModalRect(x, y, 0, u, v, 22, 15); GlStateManager.color(1F, 1F, 1F, 1F); net.minecraft.client.renderer.RenderHelper.enableGUIStandardItemLighting(); mc.getRenderItem().renderItemAndEffectIntoGUI(stack, x - 20, y); mc.getRenderItem().renderItemAndEffectIntoGUI(recipe.getOutput(), x + 26, y); mc.getRenderItem().renderItemOverlays(mc.fontRenderer, recipe.getOutput(), x + 26, y); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); GlStateManager.disableLighting(); GlStateManager.disableBlend(); } profiler.endSection(); }
@SideOnly(Side.CLIENT) @Override public void renderHUD(Minecraft mc, ScaledResolution res) { super.renderHUD(mc, res); IBlockState filter = getUnderlyingBlock(); ItemStack recieverStack = new ItemStack(Item.getItemFromBlock(filter.getBlock()), 1, filter.getBlock().getMetaFromState(filter)); int color = getColor(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); if(!recieverStack.isEmpty()) { String stackName = recieverStack.getDisplayName(); int width = 16 + mc.fontRenderer.getStringWidth(stackName) / 2; int x = res.getScaledWidth() / 2 - width; int y = res.getScaledHeight() / 2 + 30; mc.fontRenderer.drawStringWithShadow(stackName, x + 20, y + 5, color); RenderHelper.enableGUIStandardItemLighting(); mc.getRenderItem().renderItemAndEffectIntoGUI(recieverStack, x, y); RenderHelper.disableStandardItemLighting(); } GlStateManager.disableLighting(); GlStateManager.disableBlend(); }
@Override @SideOnly(Side.CLIENT) public void renderManaBar(IGuiLexiconEntry gui, RecipeRuneAltar recipe, int mx, int my) { FontRenderer font = Minecraft.getMinecraft().fontRenderer; GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); String manaUsage = I18n.format("botaniamisc.manaUsage"); font.drawString(manaUsage, gui.getLeft() + gui.getWidth() / 2 - font.getStringWidth(manaUsage) / 2, gui.getTop() + 110, 0x66000000); int ratio = 10; int x = gui.getLeft() + gui.getWidth() / 2 - 50; int y = gui.getTop() + 120; if(mx > x + 1 && mx <= x + 101 && my > y - 14 && my <= y + 11) ratio = 1; HUDHandler.renderManaBar(x, y, 0x0000FF, 0.75F, recipe.getManaUsage(), TilePool.MAX_MANA / ratio); String ratioString = I18n.format("botaniamisc.ratio", ratio); String stopStr = I18n.format("botaniamisc.shiftToStopSpin"); boolean unicode = font.getUnicodeFlag(); font.setUnicodeFlag(true); font.drawString(stopStr, x + 50 - font.getStringWidth(stopStr) / 2, y + 15, 0x99000000); font.drawString(ratioString, x + 50 - font.getStringWidth(ratioString) / 2, y + 5, 0x99000000); font.setUnicodeFlag(unicode); GlStateManager.disableBlend(); }
private static void renderBlockAt(Block block, int meta, BlockPos pos) { IBlockState state = block.getStateFromMeta(meta); double renderPosX = Minecraft.getMinecraft().getRenderManager().renderPosX; double renderPosY = Minecraft.getMinecraft().getRenderManager().renderPosY; double renderPosZ = Minecraft.getMinecraft().getRenderManager().renderPosZ; GlStateManager.pushMatrix(); GlStateManager.translate(-renderPosX, -renderPosY, -renderPosZ); GlStateManager.disableDepth(); GlStateManager.pushMatrix(); GlStateManager.enableBlend(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); BlockRendererDispatcher brd = Minecraft.getMinecraft().getBlockRendererDispatcher(); GlStateManager.translate(pos.getX(), pos.getY(), pos.getZ() + 1); GlStateManager.color(1, 1, 1, 1); brd.renderBlockBrightness(state, 1.0F); GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.enableDepth(); GlStateManager.popMatrix(); GlStateManager.popMatrix(); }
public static void drawGradientRect(int par1, int par2, float z, int par3, int par4, int par5, int par6) { float var7 = (par5 >> 24 & 255) / 255F; float var8 = (par5 >> 16 & 255) / 255F; float var9 = (par5 >> 8 & 255) / 255F; float var10 = (par5 & 255) / 255F; float var11 = (par6 >> 24 & 255) / 255F; float var12 = (par6 >> 16 & 255) / 255F; float var13 = (par6 >> 8 & 255) / 255F; float var14 = (par6 & 255) / 255F; GlStateManager.disableTexture2D(); GlStateManager.enableBlend(); GlStateManager.disableAlpha(); GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlStateManager.shadeModel(GL11.GL_SMOOTH); Tessellator var15 = Tessellator.getInstance(); var15.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); var15.getBuffer().pos(par3, par2, z).color(var8, var9, var10, var7).endVertex(); var15.getBuffer().pos(par1, par2, z).color(var8, var9, var10, var7).endVertex(); var15.getBuffer().pos(par1, par4, z).color(var12, var13, var14, var11).endVertex(); var15.getBuffer().pos(par3, par4, z).color(var12, var13, var14, var11).endVertex(); var15.draw(); GlStateManager.shadeModel(GL11.GL_FLAT); GlStateManager.disableBlend(); GlStateManager.enableAlpha(); GlStateManager.enableTexture2D(); }